DrawableCompat给图片动态着色

在平时的开发中,我们会碰到一个图标,图案不变,颜色需要变的情况,这时候可以用DrawableCompat给图片动态着色。

需要用到的API:

wrap(Drawable drawable)
setTint(Drawable drawable, int tint)

 

举个例子:

//拿到图标对象

Drawable drawable = ContextCompat.getDrawable(getContext(), R.drawable.ic_launcher); 

//这里我的理解是对图标对象进行初始化

Drawable warpDrawable = DrawableCompat.wrap(drawable);

//获取颜色

int  color = ContextCompat.getColor(context,android.R.color.holo_red_dark);

//对图像对象进行重新着色

DrawableCompat.setTint(warpDrawable, color);

//把图像对象给控件赋值

imageView.setImageDrawable(warpDrawable);

猜你喜欢

转载自blog.csdn.net/qq_30875213/article/details/104520184
今日推荐