日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android imageview 设置网络图片,ImageView加载网络图片

發布時間:2025/3/12 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android imageview 设置网络图片,ImageView加载网络图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

android網絡加載圖片框架Android-Universal-Image-Loader功能非常強大,其開源地址https://github.com/nostra13/Android-Universal-Image-Loader,講解非常地詳細,今天我要貼下工作中用到的利用這個框架加載網絡圖片并在ImageView控件中顯示出來。

第一步當然是把相應的jar包導入到我們的項目中去,

第二步就是配置ImageLoader參數,

第三步就是直接使用。

private ImageLoader imageLoader;

private ImageLoadingListener animateFirstListener;//這個監聽主要是監聽加載過程中的各狀態

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

獲取ImageLoader對象很簡單,就一句話:

imageLoader = ImageLoader.getInstance();

然后配置options:

options = new DisplayImageOptions.Builder()

.showImageOnLoading(R.drawable.icon_default_avater) //加載中的默認圖片

.showImageForEmptyUri(R.drawable.icon_default_avater) // 加載錯誤的默認圖片

.showImageOnFail(R.drawable.icon_default_avater) // 加載失敗時的默認圖片

.cacheInMemory(true)// 開啟內存緩存

.cacheOnDisk(true) // 開啟硬盤緩存

.resetViewBeforeLoading(false).build();

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

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

第二種方式:

我們設置animateFirstListener,利用animateFirstListener來加載圖片:

自定義圖片緩存:

class MyDisplayListener extends SimpleImageLoadingListener {

static final List displayedImages = Collections.synchronizedList(new LinkedList());

@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();//

加載圖片(參數uri:圖片所在地址,imageView:顯示圖片的對應控件ImageVeiw):

imageLoader.displayImage(uri, imageView, animateFirstListener);

開源框架中的ImageLoader類中定義了多種加載網絡圖片的方式:

如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) {

...

}

}); 更多的可以看源碼!

總結

以上是生活随笔為你收集整理的android imageview 设置网络图片,ImageView加载网络图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。