**
*
*
* 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);
}
}
*
*
* 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);
}
}