Android改变图片背景颜色tint(着色)或 backgroundTint
安卓对图标着色以节省apk体积,网上有很多介绍到的,使用也很简单
<ImageViewandroid:tint="@android:color/white"android:backgroundTint="@android:color/black"/>
平时都这样使用,今天得在代码中改,所以记录一下
第一种
Drawableicon;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());}ColorFilterfilter=newLightingColorFilter(Color.WHITE,Color.WHITE);icon.setColorFilter(filter);p_w_picpath.setImageDrawable(icon);
第二种,需要V4包
Drawableicon1;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());}DrawabletintIcon=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
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。