Android-universal-imageloader

**
 *
 *
 * Android-universal-imageloader:图片异步加载的框架-----大量使用建造者模式Builder
 * 1.初始化ImageLoader
 * 2.初始化ocnfiguration
 * 3.imageloader使用config。调用init
 * 4.imageloader.loadeImage()或者ImageLoader.displayImage()
 *
 *
 */
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private ImageView iv;
    private Button btn;
    private ImageLoader loader;
    private ProgressBar pbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.btn);
        iv = (ImageView) findViewById(R.id.imageView);
        pbar = (ProgressBar) findViewById(R.id.progressBar);
        btn.setOnClickListener(this);
        //初始化iageloader
        loader = ImageLoader.getInstance();
        //获取ImageloaderConfig
//        ImageLoaderConfiguration config = ImageLoaderConfiguration.createDefault(this);
        ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
                .writeDebugLogs()//打开log打印
                .build();
        //让当前的配置适用于ImageLoader
        loader.init(config);




    }


    @Override
    public void onClick(View v) {
//        ImageSize size = new ImageSize(200,300);//宽和高
//        loader.displayImage("http://img1.imgtn.bdimg.com/it/u=678973302,758379793&fm=21&gp=0.jpg",iv);


        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)//是否支持内存缓存
                .cacheOnDisk(true)//是否支持硬盘缓存
                .showImageForEmptyUri(R.mipmap.ic_launcher)//当Url传入为null的时候显示的图片
//                .delayBeforeLoading(2000)//延迟多久加载图片
                .showImageOnFail(R.mipmap.ic_launcher)//加载失败的时候显示的图片
//                .displayer(new CircleBitmapDisplayer())//圆角图片
//                .displayer(new RoundedBitmapDisplayer(50))//圆角矩形
                .displayer(new FadeInBitmapDisplayer(3000))//渐变
                .build();//创建
        //加载过程实现的接口,里面封装了加载开始,加载完成,加载失败,加载取消。。。。。一般会使用SimpleImageLoadingListener
        ImageLoadingListener listener = new SimpleImageLoadingListener(){
            //开始加载执行的监听方法
            @Override
            public void onLoadingStarted(String imageUri, View view) {
                super.onLoadingStarted(imageUri, view);
                pbar.setVisibility(View.VISIBLE);//设置进度条显示
            }


            //加载完成实现的方法
            @Override
            public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
                super.onLoadingComplete(imageUri, view, loadedImage);
                pbar.setVisibility(View.GONE);//设置进度条隐藏


            }
        };
        //加载进度变化执行的监听
        ImageLoadingProgressListener progressListener = new ImageLoadingProgressListener() {
            //s:加载的图片地址   i:当前开始的进度值   i1:图片的总大小
            @Override
            public void onProgressUpdate(String s, View view, int i, int i1) {
                Log.i("TAG","s:"+s+"-------i:"+i+"-----i1:"+i1);
                pbar.setMax(i1);
                pbar.setProgress(i);


            }
        };






        //url:加载的图片路径
        //imageview:需要显示图片的控件
        //displayOptions:加载的选项配置
        //listener:实现图片加载监听的对象。可以获取图片加载开始,完成。取消,错误的方法
        //progressListener:加载进度发生变化执行的监听。可以多次执行
        loader.displayImage("http://img1.imgtn.bdimg.com/it/u=678973302,758379793&fm=21&gp=0.jpg",iv,options,listener,progressListener);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值