Imageloader四种图片显示(圆形,淡入,圆角,修饰)使用

这一长篇我们来看这四种图片显示在代码中如何使用,以开源组件中的例子为准。
先看一组圆形和淡入动画的效果


 这个淡入为了能看清效果我的时间改成了10s;
圆角的效果图:
 
1.圆形图片的使用
    
    
  1. options = new DisplayImageOptions.Builder()
  2. .showImageOnLoading(R.drawable.ic_stub)
  3. .showImageForEmptyUri(R.drawable.ic_empty)
  4. .showImageOnFail(R.drawable.ic_error)
  5. .cacheInMemory(true)
  6. .cacheOnDisk(true)
  7. .considerExifParams(true)
  8. .displayer(new CircleBitmapDisplayer(Color.WHITE, 5))
  9. .build();
其它的参数就网上的说明比较多,只说下关于圆图片:
displayer ( new CircleBitmapDisplayer ( Color . WHITE , 5 ))
圆边为白色5个像素。然后调用下面的语句
    
    
  1. ImageLoader.getInstance().displayImage(url, imageView, options);
如果要在圆形的图片上加一个淡入和效果
     
     
  1. private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();
  2. ImageLoader.getInstance().displayImage(url, imageView, options, animateFirstListener);
  3. private static class AnimateFirstDisplayListener extends SimpleImageLoadingListener {
  4. static final List<String> displayedImages = Collections.synchronizedList(new LinkedList<String>());
  5. @Override
  6. public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
  7. if (loadedImage != null) {
  8. ImageView imageView = (ImageView) view;
  9. boolean firstDisplay = !displayedImages.contains(imageUri);
  10. if (firstDisplay) {
  11. FadeInBitmapDisplayer.animate(imageView, 500);
  12. displayedImages.add(imageUri);
  13. }
  14. }
  15. }
  16. }
解释一下动画的监听
onLoadingComplete图片加载完成的方法
在方法里面先判断图片不为空,然后判断图片url不存在集合中是第一次显示 ,然后调用 FadeInBitmapDisplayer . animate ( imageView , 500 );
具体的实现过程可以看上一片代码分析中的 FadeInBitmapDisplayer类。动画显示之后氢这个图加放已经显示的集合中

2.圆角图片的显示
     
     
  1. options = new DisplayImageOptions.Builder()
  2. .showImageOnLoading(R.drawable.ic_stub)
  3. .showImageForEmptyUri(R.drawable.ic_empty)
  4. .showImageOnFail(R.drawable.ic_error)
  5. .cacheInMemory(true)
  6. .cacheOnDisk(true)
  7. .considerExifParams(true)
  8. .bitmapConfig(Bitmap.Config.RGB_565)
  9. .displayer(new RoundedBitmapDisplayer(20))
  10. .build();
  11.     ImageLoader.getInstance().displayImage(url, imageViewoptions);
和圆形的过种一样把 CircleBitmapDisplayer ( Color . WHITE , 5 )换成 new RoundedBitmapDisplayer ( 20 ),圆角的半径20像素

3.图片修饰
我们先看一组正常情况的图片

 
下面看一下修饰过的图

除去不一们的圆角还有一个地方,仔细发现哦
     
     
  1. options = new DisplayImageOptions.Builder()
  2. .showImageOnLoading(R.drawable.ic_stub)
  3. .showImageForEmptyUri(R.drawable.ic_empty)
  4. .showImageOnFail(R.drawable.ic_error)
  5. .cacheInMemory(true)
  6. .cacheOnDisk(true)
  7. .considerExifParams(true)
  8. .bitmapConfig(Bitmap.Config.RGB_565)
  9. .displayer(new RoundedVignetteBitmapDisplayer(20,20))
  10. .build();
  11. }
使用和圆角的没有区别。实现有理请对照上一片 RoundedVignetteBitmapDisplayer类的分析。

如果我们要使用多效果叠加就可以对控件中的类进行重写,然后使用自己的类进行显示。

如果写的的有什么不对的地请指出,共同进步。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值