中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

ImageView加載網(wǎng)絡(luò)圖片

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
       android網(wǎng)絡(luò)加載圖片框架Android-Universal-Image-Loader功能非常強(qiáng)大,其開(kāi)源地址 https://github.com/nostra13/Android-Universal-Image-Loader,講解非常地詳細(xì),今天我要貼 下工作中用到的利用這個(gè)框架加載網(wǎng)絡(luò)圖片并在ImageView控件中顯示出來(lái)。

       第一步當(dāng)然是把相應(yīng)的jar包導(dǎo)入到我們的項(xiàng)目中去,

       第二步就是配置ImageLoader參數(shù),

       第三步就是直接使用。

   private ImageLoader imageLoader;
   private ImageLoadingListener animateFirstListener;//這個(gè)監(jiān)聽(tīng)主要是監(jiān)聽(tīng)加載過(guò)程中的各狀態(tài)

     private DisplayImageOptions options;//圖片展示配置

    獲取ImageLoader對(duì)象很簡(jiǎn)單,就一句話:

    imageLoader = ImageLoader.getInstance();

然后配置options:

  options = new DisplayImageOptions.Builder()

                                 .showImageOnLoading(R.drawable.icon_default_avater) //加載中的默認(rèn)圖片
.showImageForEmptyUri(R.drawable.icon_default_avater) // 加載錯(cuò)誤的默認(rèn)圖片
.showImageOnFail(R.drawable.icon_default_avater) // 加載失敗時(shí)的默認(rèn)圖片
.cacheInMemory(true)// 開(kāi)啟內(nèi)存緩存
.cacheOnDisk(true) // 開(kāi)啟硬盤(pán)緩存
.resetViewBeforeLoading(false).build();


第一種加載方式(參數(shù)uri:圖片所在地址,imageView:顯示圖片的對(duì)應(yīng)控件ImageVeiw,options:就是剛剛我們配置的參數(shù)):

ImageLoader.getInstance().displayImage(String uri, ImageView imageView, DisplayImageOptions options);

第二種方式:

我們?cè)O(shè)置animateFirstListener,利用animateFirstListener來(lái)加載圖片:

自定義圖片緩存:


class MyDisplayListener extends SimpleImageLoadingListener {
static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>());


@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
if (loadedImage != null) {
ImageView imageView = (ImageView) view;
boolean firstDisplay = !displayedImages.contains(imageUri);
if (firstDisplay) {
FadeInBitmapDisplayer.animate(imageView, 500);
displayedImages.add(imageUri);
}
}
}
}


然后取得:

animateFirstListener = new MyDisplayListener ();//

加載圖片(參數(shù)uri:圖片所在地址,imageView:顯示圖片的對(duì)應(yīng)控件ImageVeiw):

imageLoader.displayImage(uri, imageView, animateFirstListener);

開(kāi)源框架中的ImageLoader類中定義了多種加載網(wǎng)絡(luò)圖片的方式:

如github介紹中的:


imageLoader.displayImage(imageUri, imageView, options, new ImageLoadingListener() {
    @Override
    public void onLoadingStarted(String imageUri, View view) {
        ...
    }
    @Override
    public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
        ...
    }
    @Override
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
        ...
    }
    @Override
    public void onLoadingCancelled(String imageUri, View view) {
        ...
    }
}, new ImageLoadingProgressListener() {
    @Override
    public void onProgressUpdate(String imageUri, View view, int current, int total) {
        ...
    }
});


更多的可以看源碼!

標(biāo)簽: isp ssl 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Android開(kāi)發(fā)工具類

下一篇:Android開(kāi)發(fā)中apk安裝包常用工具