xutils的bitmap的深度使用

来源:互联网 发布:百家cms微商城v4.1 编辑:程序博客网 时间:2024/05/18 02:30

1、获取网站的网络图片的数据:

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);    }
0 0
原创粉丝点击