欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開(kāi)發(fā)中ImageLoder加載網(wǎng)絡(luò)圖片時(shí)將圖片設(shè)置為ImageView背景的方法

 更新時(shí)間:2018年01月08日 11:51:29   作者:zuochangman  
這篇文章主要介紹了Android開(kāi)發(fā)中ImageLoder加載網(wǎng)絡(luò)圖片時(shí)將圖片設(shè)置為ImageView背景的方法,涉及Android ImageView圖片加載及背景設(shè)置相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Android開(kāi)發(fā)中ImageLoder加載網(wǎng)絡(luò)圖片時(shí)將圖片設(shè)置為ImageView背景的方法。分享給大家供大家參考,具體如下:

最近開(kāi)始接觸到android的開(kāi)發(fā),在開(kāi)發(fā)中使用ImageLoder加載網(wǎng)絡(luò)圖片,但是框架加載的圖片默認(rèn)是通過(guò)ImageView的src屬性設(shè)置,所以在某些場(chǎng)合是不符合需求,比如通過(guò)設(shè)置src在某些場(chǎng)景下是不能填充滿(mǎn)整個(gè)ImageView,但是通過(guò)設(shè)置背景就可以實(shí)現(xiàn),而框架并沒(méi)有提供將圖片設(shè)置為背景的方法,我在網(wǎng)上找了半天也看到了一些解決方案,但不是我想要的,于是我決定去看看源碼是怎么實(shí)現(xiàn),果然在源碼中就找到了“新大陸”,壓抑不住內(nèi)心的喜悅趕緊寫(xiě)博客分享,也算做個(gè)筆記,希望對(duì)大家有幫助。

廢話(huà)到此為止   開(kāi)始將進(jìn)入主題(上代碼)

/**
* 加載網(wǎng)絡(luò)圖片設(shè)置為ImageView背景
*
* @param url
* @param view
*/
public void loadImageToBackground(String url, ImageView view) {
  ImageLoader.getInstance().displayImage(url, new BgImageViewAware(view));
}

上面這個(gè)方法就是一個(gè)簡(jiǎn)單的使用ImageLoder加載網(wǎng)絡(luò)圖片的例子,如果要將圖片設(shè)置為背景,其核心部分就在 BgImageViewAware這個(gè)類(lèi)里面,BgImageViewAware是一個(gè)自定義的類(lèi),它繼承自ImageViewAware這個(gè)類(lèi),我在看源碼的時(shí)候發(fā)現(xiàn)ImageLoder就是通過(guò) ImageViewAware這個(gè)類(lèi)把加載的圖片設(shè)置到src屬性的(有興趣的小伙伴可以自己去看源碼,源碼我就不貼出來(lái)了),所以我只需要重寫(xiě)這個(gè)類(lèi)的方法將圖片設(shè)置到背景就解決了

下面是BgImageViewAware類(lèi)的代碼:

/**
 * <pre>將圖片設(shè)置為ImageView的背景</pre>
 * Created by ZCM on 2016/8/5. version 1.0
 */
public class BgImageViewAware extends ImageViewAware {
  public BgImageViewAware(ImageView imageView) {
    this(imageView, true);
  }
  public BgImageViewAware(ImageView imageView, boolean checkActualViewSize) {
    super(imageView, checkActualViewSize);
  }
  @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
  @Override
  public boolean setImageBitmap(Bitmap bitmap) {
    //重寫(xiě)父類(lèi)方法,將圖片設(shè)為背景
     if(Looper.myLooper() == Looper.getMainLooper()) {
      ImageView imageView = (ImageView)this.imageViewRef.get();
      if(imageView != null) {
        imageView.setBackground(new BitmapDrawable(bitmap));
        return true;
      }
    }
    return false;
  }
  @Override
  public boolean setImageDrawable(Drawable drawable) {
    return super.setImageDrawable(drawable);
  }
}

到了這一步,將圖片設(shè)置為ImageView的背景的整個(gè)功能算是我完成了(其實(shí)很簡(jiǎn)單^_^)

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android圖形與圖像處理技巧總結(jié)》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android調(diào)試技巧與常見(jiàn)問(wèn)題解決方法匯總》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論