android 动态更新文本颜色的设置、转换

参考文章:https://www.jianshu.com/p/3c1fe10aed4f

介绍

  • Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“ # ”字符开头的8位16进制表示。
  • 其中ARGB 依次代表透明度(Alpha)、红色(Red)、绿色(Green)、蓝色(Blue),取值范围为0 ~ 255(即16进制的0x00 ~ 0xff)。 A 从0x00到0xff表示从透明到不透明,RGB 从0x00到0xff表示颜色从浅到深。
  • 当RGB全取最小值(0或0x000000)时颜色为黑色,全取最大值(255或0xffffff)时颜色为白色。

Java代码颜色设置

textView.setTextColor(Color.RED);
textView.setTextColor(0xffff0000);
textView.setTextColor(Color.argb(127, 255, 0, 255));
textView.setTextColor(Color.parseColor("#00CCFF"))
textView.setTextColor(getResources().getColor(R.color.colorPrimary));//已过时
textView.setTextColor(ContextCompat.getColor(this, R.color.colorPrimary));//替换方法

实战

项目中相应动态设置文本颜色,返回的json为:

"rgba(255,0,0,1)"

代码解析拼接

public class ColorUtil {

    public  static int rgb(String rgbStriing){
        int   rgbColor =Color.rgb(0,0,0);
        try {
            String colorString =   rgbStriing.replace("rgba(","").replace(")","");
            String[]  rgbs =  colorString.split(",");
            rgbColor =   Color.rgb(Integer.parseInt(rgbs[0]),Integer.parseInt(rgbs[1]),Integer.parseInt(rgbs[2]));
            return rgbColor;
        }catch (Exception e){
            e.printStackTrace();
        }
        return rgbColor;
    }
}


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 颜色 作者微博: @GcsSloop 【本系列相关文章】 简要介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的...
    GcsSloop阅读 5,544评论 0 7
  • 颜色 简要介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的几种方式,以及颜色的混合模式等。 一.简单介绍颜色 ...
    EsonJack阅读 8,283评论 0 3
  • 颜色 作者微博: @GcsSloop 【本系列相关文章】 简要介绍安卓中的颜色相关内容,包括颜色的定义,创建颜色的...
    南城的人阅读 5,004评论 0 0
  • public class ImageProcessHelper { ///////////////////////...
    学习不断阅读 7,554评论 0 1
  • 真正能够欣赏你的人,欣赏的永远是你骄傲的样子。 ——蒋方舟
    SUN小晶阅读 1,418评论 0 0

友情链接更多精彩内容