replugin 插件化中 使用Glide 找不到 R文件

2019-01-15  本文已影响15人  勤劳的蚂蚁

在使用replugin插件化项目重构 过程 ,使用glide 加载本地图片,发现 其找不到R 文件,而正常 ImageView 加载图片是没有问题的,glide 加载网络图片也是没有问题的,Glide 还能显示错误图片;
开始以为是没有找到 R文件 ,可以通过反射拿R 文件,后来发现不是这样的,可能Glide 加载机制 在插件化中有些问题;

采用一种折中方案,就是 将R 文件转化为 bite[] 流,再用glide 加载。

  主要方法:
       public byte[] Bitmap2Bytes(int  bb) {
        Bitmap bmp = BitmapFactory.decodeResource(getResources(), bb);
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
                return baos.toByteArray();
          }

    Glide.with(mContext)
                    .load(bytes)
                    .centerCrop()
//                    .thumbnail(0.1f)   //缩略图为原来的十分之一
                    .override(Utils.px2dip(mContext,130),Utils.px2dip(mContext,130)) //设置大小
                    .placeholder(me.iwf.photopicker.R.drawable.__picker_ic_photo_black_48dp)
                    .error(me.iwf.photopicker.R.drawable.__picker_ic_broken_image_black_48dp)
                    .into(holder.ivPhoto);


上一篇下一篇

猜你喜欢

热点阅读