android 获取color 字符串,Android Color 判断色值小结

本文介绍了在Android中如何获取和判断Color值,包括通过R.color.方式和getResources().getColor()方式,以及如何将颜色值转换为16进制表示,详细探讨了颜色的ARGB组成部分,并提供了相关辅助函数的示例。
摘要由CSDN通过智能技术生成

小菜我最近在处理主题色方面的问题,有个小需求是处理更改颜色,判断色值等,稍稍整理了一下。

Color 大家都很熟悉,其组成方式是 RGB 红绿蓝三原色,小菜觉得可以按 ARGB 即 Alpha 透明度、Red 红色、Green 绿 和 Blue 蓝色来记。默认的 Alpha 为 FF/255 完全不透明,可不设置;若 Alpha 为 00/0 时,代表完全透明,则红绿蓝不起作用;而介于 00-FF/0-255 之间时,可以显示出颜色不同的层次效果。

小菜的测试步骤如下:

在 color.xml 中定义几个测试颜色值;

#3F51B5

#3F51B5

#FF4081

#40FF4081

小菜想是否可以直接用 R.color.XX 方式判断色值,测试不相同,小菜理解获取的是 R 的值;

// 日志输出

Log.e("color1==" + R.color.test_color1, "color2==" + R.color.test_color2);

// 结果

color1==2131427410: color2==2131427411

小菜测试用 getResources().getColor(R.color.XX) 方式,结果是对的;

// 日志输出

Log.e("test_color1==" + getResources().getColor(R.color.test_color1), "test_color2==" + getResources().getColor(R.color.test_color2));

// 结果

test_color1==-12627531: test_color2==-12627531

继续测试,获取某个控件背景色;

// 日志输出

if (mColorTv1.getBackground() instanceof ColorDrawable) {

ColorDrawable colordDrawable = (ColorDrawable) mColorTv1.getBackground();

int color = colordDrawable.getColor();

Log.e("color1==" + color, "test_color3==" + getResources().getColor(R.color.test_color3));

}

// 结果

color==-49023: test_color3==-49023

获取方式都是可以的,只是这种方式看起来并不直接,转成 16 进制看起来会更自然;

String Color_16(int color) {

StringBuffer stringBuffer = new StringBuffer();

stringBuffer.append("#");

stringBuffer.append(Integer.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值