Android改变图片背景颜色tint(着色)或 backgroundTint

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android改变图片背景颜色tint(着色)或 backgroundTint相关的知识,希望对你有一定的参考价值。

安卓对图标着色以节省apk体积,网上有很多介绍到的,使用也很简单

<ImageView
    android:tint="@android:color/white"
    android:backgroundTint="@android:color/black"
    />

平时都这样使用,今天得在代码中改,所以记录一下

第一种

Drawable icon;
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP){
    icon = getResources().getDrawable( R.drawable.ic_back_black );
}else{
    icon = getResources().getDrawable( R.drawable.ic_back_black ,getTheme());
}
ColorFilter filter = new LightingColorFilter( Color.WHITE, Color.WHITE);
icon.setColorFilter(filter);
image.setImageDrawable(icon);

第二种,需要V4包

Drawable icon1;
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.LOLLIPOP){
    icon1 = getResources().getDrawable( R.drawable.ic_back_black );
}else{
    icon1 = getResources().getDrawable( R.drawable.ic_back_black ,getTheme());
}
Drawable tintIcon = DrawableCompat.wrap(icon1);
DrawableCompat.setTint(tintIcon, Color.WHITE);
//DrawableCompat.setTintList(tintIcon, Color.WHITE);
titleBack1.setImageDrawable(tintIcon);

好吧,两个都能实现.也不知道哪个更好.

网上有不少相关介绍

http://www.cnblogs.com/helloandroid/p/4779061.html

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0128/3923.html


本文出自 “苍蝇学android” 博客,请务必保留此出处http://qq445493481.blog.51cto.com/9545543/1842972

以上是关于Android改变图片背景颜色tint(着色)或 backgroundTint的主要内容,如果未能解决你的问题,请参考以下文章

Android Tint着色与帧动画结合

Android 着色器 Tint 研究

ImageView的tint属性

ImageView的tint属性

Android ColorFilter and Tint

Android ColorFilter and Tint