参考文章: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;
}
}