解决glide加载图片出现变浅绿

在开发咋时候碰见过glide如果显示图片是透明的话会出现浅绿色,原因是Glide默认的Bitmap格式是RGB_565,这也是导致在加载图片是可能变绿的罪魁祸首。RGB_565代表8位RGB位图,而Picasso默认的Bitmap格式是ARGB_8888代表32位RGB位图。以下有两种方法解决:

1.diskCacheStrategy(DiskCacheStrategy.SOURCE)直接设置glide属性

Glide.with(context).load(url)
        .dontAnimate()
        .placeholder(R.drawable.no_images)
        .diskCacheStrategy(DiskCacheStrategy.SOURCE)
        .error(R.drawable.no_images)
        .priority(Priority.NORMAL)
        .into(iv);

2.如果以上还是没办法解决问题的话,创建一个glide像素转换类,然后在AndroidManifast.xml引用

public class GlideConfiguration implements GlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
        builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
    }
    @Override
    public void registerComponents(Context context, Glide glide) {

    }
}

AndroidManifast.xml引用

    android:name="应用包名.GlideConfiguration"
    android:value="GlideModule"/>

你可能感兴趣的:(Android)