xutils简介:
xUtils 是一个工具类的集合体,其中包含许多实用的Android工具,主要包含四大模块:
1、 ViewUtils的模块(点击进入)
2、 HttpUtils的模块
3、 BitmapUtils的模块(点击进入)
现在我们来正式学习BitmapUtils,同样我们也通过三个步骤来学习:
一、添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
二、创建BitmapUtils
//通常我们需要将这个创建BitmapUtils的方法放在自定义的application中
/**
* 使用默认配置创建
*/
protected void createBitmapUtils()
{
mBmUtils = new BitmapUtils(this);
}
/**
* 自定义各种配置
*/
protected void createBitmapUtilsWithCfg(){
//指定本地缓存路径以及内存缓存大小
int iSize = (int) (Runtime.getRuntime().maxMemory()/8);
mBmUtils = new BitmapUtils(this,"/sdcard/bmcc",iSize);
//线程池中线程数量
mBmUtils.configThreadPoolSize(4);
//加载失败图片
mBmUtils.configDefaultLoadFailedImage(R.mipmap.ic_launcher);
//加载中图片
mBmUtils.configDefaultLoadingImage(R.mipmap.ic_launcher);
//连接超时时间
mBmUtils.configDefaultConnectTimeout(30000);
//设置图片大小
mBmUtils.configDefaultBitmapMaxSize(300,300);
}
三、加载图片
1.加载本地图片
protected void showLocalPic(){
MyAppliction.bitmapUtils.display(imageView, "/sdcard/p1.jpg");//第一参数:ImageView 第二个参数:本地图片的存放位置
}
2.加载网络图片
protected void showNetPic(){
String strUrl = "http://www.pp3.cn/uploads/allimg/111116/11021321R-4.jpg";
MyAppliction.bitmapUtils.display(imageView,strUrl);
}
3.设置listView滑动时不加载图片
listDatas = new ArrayList<>();//数据源
MyAdpter<String> adapter = new MyAdpter<>(this,listDatas);
//清除缓存
MyAppliction.bitmapUtils.clearCache();
//不允许内存缓存
MyAppliction.bitmapUtils.configMemoryCacheEnabled(false);
//不允许本地缓存
MyAppliction.bitmapUtils.configDiskCacheEnabled(false);
/*listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});*/
/**
* 设置禁止在滑动和快速上抛的时候加载图片,
* 参数一:bitmaputils
* 参数二:是否滑动时候加载
* 参数三:是否快速上抛的时候加载
*/
listView.setOnScrollListener(new PauseOnScrollListener(MyAppliction.bitmapUtils, true, true));
listView.setAdapter(adapter);