参考: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)时颜色为白色。

以颜色值#FF99CC00为例,其中FF是透明度,99是红色值,CC是绿色值,00是蓝色值

全透明:#00000000/(0,0,0,0)
半透明:#80000000/(128,0,0,0)
不透明:#FF000000/(255,0,0,0)

1. 颜色定义

(1) Android系统封装好的Color类中的常量
public static final int BLACK = 0xFF000000;
public static final int DKGRAY = 0xFF444444;
public static final int GRAY = 0xFF888888;
public static final int LTGRAY = 0xFFCCCCCC;
public static final int WHITE = 0xFFFFFFFF;
public static final int RED = 0xFFFF0000;
public static final int GREEN = 0xFF00FF00;
public static final int BLUE = 0xFF0000FF;
public static final int YELLOW = 0xFFFFFF00;
public static final int CYAN = 0xFF00FFFF;
public static final int MAGENTA = 0xFFFF00FF;
public static final int TRANSPARENT = 0;(2) 使用0x开头的颜色值
int color = 0xff00ff00;(3) 使用Color类的静态方法argb创建颜色
int color = Color.argb(127, 255, 0, 255);(4) 把16进制颜色值转换为int类型数值
int color = Color.parseColor("#00CCFF");
(5) 使用xml资源文件来表示颜色 (.../res/values/colors.xml)
<?xml version="1.0" encoding="utf-8"?>
<resources> <color name="colorPrimary">#3F51B5</color> <color name="colorPrimaryDark">#303F9F</color> <color name="colorAccent">#FF4081</color>
</resources>

2. 颜色设置

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));//替换方法

xml布局中:

android:textColor="@color/text_color_white"
android:background="@drawable/full_background"

3. 颜色转换

透明度百分比和十六进制对应关系计算方法:
public void toARGB() {System.out.println("透明度 | 十六进制");System.out.println("---- | ----");for (double i = 1; i >= 0; i -= 0.01) {i = Math.round(i * 100) / 100.0d;int alpha = (int) Math.round(i * 255);String hex = Integer.toHexString(alpha).toUpperCase();if (hex.length() == 1) hex = "0" + hex;int percent = (int) (i * 100);System.out.println(String.format("%d%% | %s", percent, hex));}}16进制转GRB颜色值方法:
public static void toRGB(String hex) {int color = Integer.parseInt(hex.replace("#", ""), 16);int red = (color & 0xff0000) >> 16;int green = (color & 0x00ff00) >> 8;int blue = (color & 0x0000ff);     System.out.println("red="+red+"--green="+green+"--blue="+blue);
}GRB转16进制颜色值方法:
public static void toHex(int red, int green, int blue){String hr = Integer.toHexString(red);String hg = Integer.toHexString(green);String hb = Integer.toHexString(blue);System.out.println("#"+hr + hg + hb);
}

4. 颜色拾取

我们一般是无法直观的知道自己需要颜色的值,需要借用取色工具或其他工具去获取相关的颜色值。
(1) 通过QQ等其他的截图工具,可以查看鼠标所在位置的RGB和16进制值
(2) 使用AS自带的吸色工具获取ARGB和16进制值

在布局界面,点击左边的小色块

在弹出的界面中点击吸管,就可以获取屏幕上任意位置的颜色了

【Android】Color的定义、设置、转换、拾取相关推荐

  1. Android颜色定义 设置 转换

    1.使用Color类的静态方法argb创建颜色 int color = Color.argb(127, 255, 255, 255); 2.把16进制颜色值转换为int类型数值 int color = ...

  2. android color列表,Android应用资源---状态颜色列表(Color State List)

    ColorStateList是能够把申请的颜色定义在XML中的一个对象,但是它实际上会根据使用这个ColorStateList对象的View对象的状态,来改变颜色.例如,Button控件存在几种不同的 ...

  3. Android修改系统默认设置

     1.launcher的布局太居中,要想两边拉伸 <\packages\apps\Launcher2\res\values\dimens.xml> <dimen name=&qu ...

  4. Android 为控件设置阴影

    在Android中设置一个阴影很简单,只需要两步: 设置eleavation值(高度) 添加一个背景或者outline (即阴影的形状) 说明: View的大小位置都是通过x,y确定的,而现在有了z轴 ...

  5. android 4.2修改设置菜单的背景颜色

    设置中的背景主要来主题的设置, 在4.X后, android添加了新的主题: Holo 从Settings/AndroidManifest.xml中找到: Xml代码   <applicatio ...

  6. Android之——自己定义TextView

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47082241 在这一篇博文中,将向大家介绍怎样以最简单的方式,来自己定义Andro ...

  7. android webview的一些设置问题

    android webview的一些设置问题 转自:http://www.2cto.com/kf/201206/137219.html 1.设置WebView为透明: [java] android:b ...

  8. android横屏竖屏设置

    Android横竖屏切换总结(Android资料) Android横竖屏要解决的问题应该就两个: 一.布局问题 二.重新载入问题 1.布局问题:如果不想让软件在横竖屏之间切换,最简单的办法就是在项目的 ...

  9. android shape 无边框颜色,Android 使用shape定义不同控件的的颜色、背景色、边框色...

    Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: ...

  10. Android ImageView到底怎么设置圆角图片?背景圆角?控件圆角?图片圆角?占位图圆角?

    前言 在我们实际开发应用的过程中,我想大家或多或少都遇到过需要加载圆角图片的场景,还有一些图片是四周圆角不对称,异性圆角等等情况. 我们可能会去网上或Github上搜索一些RoundImageView ...

最新文章

  1. 【PHP】IPv4与整数转换、IPv6与整数转换
  2. MVC layout 命名空间引用问题
  3. JS中定时器setTimeout,setInterval,clearTimeout,clearInterval用法
  4. CMake交叉编译配置
  5. 苹果mac专业的视频转码器:HandBrake
  6. ISO-IEC 27001 SOA适用性说明原文+个人理解
  7. 丁磊:那时候我们除了会写软件 什么也不会做
  8. ubuntu 10.04安装 sopcast player
  9. 2022全新好玩的恶搞屁声音小程序源码+UI不错
  10. 项目一:使用python tkinter模块做简单的计算器
  11. 神奇的递归!一文读懂函数递归(python实现)
  12. 输入一个正整数,判断它是否是回文数。要求定义和调用函数:int isPalindrome(int n),如果n是回文数,该函数返回1,否则返回0。回文数是指正读和反读都相同的数。
  13. 成都传智播客Java培训
  14. (九十三) Android O 连接WiFi AP流程梳理续——保存网络
  15. Standardized QCI characteristics
  16. 用计算机弹钢琴谱,flash用键盘弹钢琴,电脑钢琴谱-走啦网
  17. oracle 11g安装教程完整版
  18. 使用vue做一个“淘宝“项目(删除原有代码)
  19. 如何利用业余时间快乐的赚钱
  20. 2GT齿轮的齿形参数

热门文章

  1. 程序员小白入行区块链的六种方式
  2. 思科设备配置路由重发布
  3. $.get、$.post、$getJSON、$ajax的用法跟区别
  4. 基因组生物信息学实验(三):基因组模拟测序(1)
  5. SSM分布式项目01-技术点介绍项目介绍分布式架构对比SOA架构
  6. excel柱状图加折线图组合怎么做
  7. KMP算法(严蔚敏数据结构第二版)
  8. matlab中表示拉普拉斯分布_分布拟合——正态/拉普拉斯/对数高斯/瑞利 分布
  9. codemirror 光标定位_使用Codemirror打造Markdown编辑器
  10. mac shell终端编辑命令行快捷键——行首,行尾