xutils的bitmap的深度使用
2015-11-03 16:09
302 查看
1、获取网站的网络图片的数据:
//获取:
///////通过网络请求获取网络图片的URL,
并将图片URL加到ArrayList
////////////////////////通过网页的数据,提取出图片资源:
2、将获取的图片URL加载到listview中的每项imageview中:
(1)、BitmapUtils 的设置:
public static BitmapUtils bitmapUtils;
(2)、适配器中数据的加载:
//bitmaputils的回调方法:
////加载数据时的褪色效果的方法:
private String[] imgSites = { "http://image.baidu.com/", "http://www.22mm.cc/", "http://www.moko.cc/", "http://eladies.sina.com.cn/photo/", "http://www.youzi4.com/" };
//获取:
// 加载url请求返回的图片连接给listview for (String url : imgSites) { loadImgList(url); }
///////通过网络请求获取网络图片的URL,
并将图片URL加到ArrayList
private void loadImgList(String url) { new HttpUtils().send( HttpRequest.HttpMethod.GET, url, new RequestCallBack<String>() { @Override public void onSuccess(ResponseInfo<String> responseInfo) { imageListAdapter.addSrc(getImgSrcList(responseInfo.result)); imageListAdapter.notifyDataSetChanged();//通知listview更新数据 } @Override public void onFailure(HttpException error, String msg) { } }); }
////////////////////////通过网页的数据,提取出图片资源:
/** * 得到网页中图片的地址 */ public static List<String> getImgSrcList(String htmlStr) { List<String> pics = new ArrayList<String>(); String regEx_img = "<img.*?src=\"http://(.*?).jpg\""; // 图片链接地址 Pattern p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE); Matcher m_image = p_image.matcher(htmlStr); while (m_image.find()) { String src = m_image.group(1); if (src.length() < 100) { pics.add("http://" + src + ".jpg"); } } return pics; }
2、将获取的图片URL加载到listview中的每项imageview中:
(1)、BitmapUtils 的设置:
public static BitmapUtils bitmapUtils;
//bitmapUtils的加载图片的管理器的设置 bitmapUtils = BitmapHelp.getBitmapUtils(this.getActivity().getApplicationContext()); bitmapUtils.configDefaultLoadingImage(R.drawable.ic_launcher); bitmapUtils.configDefaultLoadFailedImage(R.drawable.bitmap); bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565);
// 设置最大宽高, 不设置时更具控件属性自适应. bitmapUtils.configDefaultBitmapMaxSize(BitmapCommonUtils.getScreenSize(getActivity()).scaleDown(3)); // 滑动时加载图片,快速滑动时不加载图片 //imageListView.setOnScrollListener(new PauseOnScrollListener(bitmapUtils, false, true));
(2)、适配器中数据的加载:
bitmapUtils.display( holder.imgItem, imgSrcList.get(position), //图片加载的回调方法 new CustomBitmapLoadCallBack(holder));
//bitmaputils的回调方法:
public class CustomBitmapLoadCallBack extends DefaultBitmapLoadCallBack<ImageView> { private final ImageItemHolder holder; public CustomBitmapLoadCallBack(ImageItemHolder holder) { this.holder = holder; } @Override public void onLoading(ImageView container, String uri, BitmapDisplayConfig config, long total, long current) { } @Override public void onLoadCompleted(ImageView container, String uri, Bitmap bitmap, BitmapDisplayConfig config, BitmapLoadFrom from) { //加载数据时的褪色效果 fadeInDisplay(container, bitmap); } }
////加载数据时的褪色效果的方法:
private static final ColorDrawable TRANSPARENT_DRAWABLE = new ColorDrawable(android.R.color.transparent); private void fadeInDisplay(ImageView imageView, Bitmap bitmap) { final TransitionDrawable transitionDrawable = new TransitionDrawable(new Drawable[]{ //颜色设置 TRANSPARENT_DRAWABLE, new BitmapDrawable(imageView.getResources(), bitmap) }); imageView.setImageDrawable(transitionDrawable); transitionDrawable.startTransition(500); }
相关文章推荐
- innodb和myisam 对事务的处理
- Content provide & content resolver comments
- Jquery 事件冒泡 以及阻止默认事件
- linux-flock文件锁之实际运用
- iOS开发网络篇—HTTP协议
- LeetCode Permutations II (全排列)
- 关于ASP.NET中GridView控件中编辑和删除按钮布局问题
- django 快速实现注册
- Mac 修改配置文件后如何启用新配置
- JS判断客户端是否是iOS或者Android
- js,JSON转字符串遇到的问题
- UNIX Tutorial Seven
- django 快速实现文件上传
- AWSomeDay 中体会的微服务治理
- Nginx学习之六-nginx核心进程模型
- java项目管理工具
- opencart 实现全面伪静态
- testbanch编写
- 文件注册
- ios NSNotificationCenter 收到通知后的执行线程