Android 图片DrawableCompat利用setTint()对图片Drawable进行变色

1.利用color资源对Drawable变色

Drawable对象的来源不限制,可以是从资源getResource().getDrawable(int resourceId)也可以是其他的方式得到的Drawable

Drawable wrappedDrawable = DrawableCompat.wrap(drawable);

DrawableCompat.setTint(wrappedDrawable, color);

2.采用ColorStateList来改变Drawable

Drawable wrappedDrawable = DrawableCompat.wrap(drawable);

DrawableCompat.setTintList(wrappedDrawable, colors);

3.介绍一下ColorStateList

android:color="#ffff0000"/>

android:color="#ff0000ff"/>

Java代码(用于改变按钮的字体颜色)

Button btn=(Button)findViewById(R.id.btn);

Resources resource=(Resources)getBaseContext().getResources();

ColorStateList csl=(ColorStateList)resource.getColorStateList(R.color.button_text);

if(csl!=null){

btn.setTextColor(color_state_list);//设置按钮文字颜色

}

4.安利一个朋友封装的工具类

public class DrawableTintUtil {

/**

* Drawable 颜色转化类

*

* @param drawable

* @param color资源

* @return 改变颜色后的Drawable

*/

public static Drawable tintDrawable(@NonNull Drawable drawable, int color) {

Drawable wrappedDrawable = DrawableCompat.wrap(drawable);

DrawableCompat.setTint(wrappedDrawable, color);

return wrappedDrawable;

}

/**

* Drawable 颜色转化类

*

* @param drawable 源Drawable

* @param ColorStateList

* @return 改变颜色后的Drawable

*/

public static Drawable tintListDrawable(@NonNull Drawable drawable, ColorStateList colors) {

Drawable wrappedDrawable = DrawableCompat.wrap(drawable);

DrawableCompat.setTintList(wrappedDrawable, colors);

return wrappedDrawable;

}

}

android 图片变颜色代码,Android -对图片Drawable进行变色相关推荐

  1. php 图片填充颜色代码,PHP获取图片颜色值,检测图片主要颜色的代码:

    $i=imagecreatefromjpeg("photo3.jpg");//测试图片,自己定义一个,注意路径 for ($x=0;$x for ($y=0;$y $rgb = i ...

  2. android html 字体颜色代码,Android TextView通过解析html显示不同颜色和大小

    先贴一张效果图 效果 介绍 通过SpannableString.SpannableStringBuilder可以很方便的给TextView加上各种各样的样式,比如不同的颜色和大小,这里就不多说了,具体 ...

  3. android 获取手机颜色代码,Android获取当前主题的颜色属性

    安卓代码中获取当前主题颜色方法的两种方法: 第一种方法: TypedArray array = getTheme().obtainStyledAttributes(new int[]{ android ...

  4. html怎么让图片变灰色,利用CSS设置图片黑白/灰色效果,同时适用于整站变灰

    写页面的时候由于页面风格原因,可能需要图片变灰色,如果用图片处理软件的话可能会比较麻烦,而且会增加图片的数量,不利于资源的合理利用. 下面提供两种方法: 1.使用CSS的 filter: gray;  ...

  5. JavaScript 逼真图片倒计时实现代码 js时间图片倒计时

    JavaScript 逼真图片倒计时实现代码   js时间图片倒计时 效果图: <!doctype html> <html> <head> <meta cha ...

  6. android取图片颜色代码,Android Palette 提取图片的主色调

    博主声明: 转载请在开头附加本文链接及作者信息,并标记为转载.本文由博主 威威喵 原创,请多支持与指教. 本文首发于此 博主:威威喵 | 博客主页:https://blog.csdn.net/smil ...

  7. Android程序如何在代码中改变图片原有的颜色

    最近一边找工作一边完善之前的项目.之前安卓初中级的项目是模仿酷狗音乐播放器的.下载一个apk文件,改后缀,解压,然后根据官方应用的布局,用得到的图片照着做出来.记得酷狗首页有好几种主要图标,解压后得到 ...

  8. android提取图片颜色代码,Android 中动态提取图片中颜色作为主题色

    功能需求 一个页面中顶部显示一张图片(图片从网络加载),此时需要根据图片的颜色来动态调整顶部标题栏的背景色. 技术要求 Android 调色板支持库 实现过程 1.添加调色板支持库 dependenc ...

  9. android给按钮边框加颜色代码,Android Studio按钮颜色和边框

    按钮很好.但是当我为每个按钮设置一个新的背景颜色.每个按钮的边框消失.按钮之间的线消失.我怎样才能恢复边界?或按钮周围的线条. btw即时通讯使用相对布局.Android Studio按钮颜色和边框 ...

最新文章

  1. 将线程pid转成16进制_如何使用jstack分析线程状态
  2. 使用JAXP对xml文档进行DOM解析基础
  3. Linux学习笔记——Linux磁盘管理
  4. 在CRM定制中常用的Javascript
  5. 这 30 个常用的 Maven 命令你必须熟悉!
  6. Python实现kNN算法
  7. python中等于号可以用is代替_python中字符串比较使用is、==和cmp()总结
  8. Leetcode 7. 整数反转
  9. JavaScript(四)——具体对象(Math、字符串对象、Date对象、Number对象及Boolean对象)
  10. java的设计模式之单列设计模式
  11. 大数据shipin教程_大数据自学全套视频教程下载
  12. 基于kettle的数据集成平台(汇总)
  13. 【微信小程序】协同工作和发布 数据绑定
  14. MQTT QoS(服务质量)介绍
  15. Flowable入门系列文章39 - 网关 01
  16. Android移动数据开关开启关闭方法
  17. 证明 可逆矩阵A的各列线性无关
  18. gitee搭建个人博客教程
  19. 了解ES6 The Dope Way第五部分:类,转译ES6代码和更多资源!
  20. day08学习 Python文件函数、CSV文件读写

热门文章

  1. 我的研究生这三年(含腾讯AI Lab实习、CVPR发表经验)
  2. 08-百度ai语音合成
  3. Linux安装weblogic方式,Linux下weblogic安装图解
  4. 裘宗燕-数据结构与算法python描述-ppt及源代码
  5. python学习-抓取知乎图片
  6. 从零开始学安全(三)●黑客常用的windows端口
  7. Win10系统的SurfacePro4如何重装系统-3 重装完成之后的系统优化
  8. P3384 【模板】树链剖分
  9. chrome更新flash player失败
  10. 玩转spring boot——结合redis