怎么在Android中使用可拉的改变图片的颜色

  介绍

今天就跟大家聊聊有关怎么在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中使用可拉的改变图片的颜色有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

怎么在Android中使用可拉的改变图片的颜色