介绍
今天就跟大家聊聊有关怎么在Android中使用可拉的改变图片的颜色,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强> 1。利用颜色资源对可拉的变色强>
可拉的对象的来源不限制,可以是从资源getResource ()。getDrawable (int resourceId)也可以是其他的方式得到的可拉的
Drawable wrappedDrawable =, DrawableCompat.wrap(可拉的); DrawableCompat.setTint (wrappedDrawable,颜色),
<强> 2。采用ColorStateList来改变可拉的强>
Drawable wrappedDrawable =, DrawableCompat.wrap(可拉的); DrawableCompat.setTintList (wrappedDrawable,,颜色),
<强> 3。介绍一下ColorStateList 强>
& lt; ? xml version=?.0“,编码=皍tf-8" ?祝辞, & lt; selector  xmlns: android=癶ttp://schemas.android.com/apk/res/android"祝辞, ,& lt; item  android: state_pressed=皌rue", ,,android:颜色=? ffff0000"/祝辞,& lt; !——, pressed ——祝辞, ,& lt; item  android: state_focused=皌rue", ,,android:颜色=? ff0000ff"/祝辞,& lt; !——, focused ——祝辞, ,& lt; item  android:颜色=? ff000000"/祝辞,& lt; !——, default ——祝辞, & lt;/selector>
Java代码(用于改变按钮的字体颜色)
Button btn=findViewById (R.id.btn);(按钮), Resources 资源=(资源)getBaseContext () .getResources (),, ColorStateList csl=(ColorStateList) resource.getColorStateList (R.color.button_text);, 如果(csl !=null) {, btn.setTextColor才能(color_state_list);//设置按钮文字颜色, }
<>强4。安利一个朋友封装的工具类强>
public class DrawableTintUtil {/* * ,* Drawable 颜色转化类 ,* ,* @param drawable ,* @param 颜色资源 ,* @return 改变颜色后的可拉的 ,*/,public static  Drawable tintDrawable (@NonNull Drawable 可拉的,,int 颜色),{ ,Drawable wrappedDrawable =, DrawableCompat.wrap(可拉的); ,DrawableCompat.setTint (wrappedDrawable,颜色); ,return wrappedDrawable; ,}/* * ,* Drawable 颜色转化类 ,* ,* @param drawable 源可拉的 ,* @param ColorStateList ,* @return 改变颜色后的可拉的 ,*/,public static  Drawable tintListDrawable (@NonNull Drawable 可拉的,,ColorStateList 颜色),{ ,Drawable wrappedDrawable =, DrawableCompat.wrap(可拉的); ,DrawableCompat.setTintList (wrappedDrawable,,颜色); ,return wrappedDrawable; ,} }
看完上述内容,你们对怎么在Android中使用可拉的改变图片的颜色有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。