xutils的bitmap的深度使用

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);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值