android中的int颜色代码如何工作?

时间:2013-07-27 10:50:48

标签: android android-listview

我有以下问题:

我有一个列表视图,我想为此列表视图的项目分隔符(Divider)指定渐变颜色。我使用以下代码:

    list = (ListView) findViewById(R.id.list);
    int[] colors = { 0, 0xffffff00, 0 }; 
    list.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors));
    list.setDividerHeight(4);

我从http://developer.android.com/reference/android/graphics/Color.html

查找了颜色代码(0xffffff00)

问题:

然而这种颜色是黄色,我想要的是金色。我也有兴趣知道它是如何工作的,我的意思是我如何定义我选择的颜色,到目前为止我试图从开发者网站了解但是它不太清楚。

2 个答案:

答案 0 :(得分:8)

您编写的

是十六进制表示法。您可以将颜色视为由4个组件组成。 ARGB。在您的示例中,您有0xffffff00。第一个ff是alpha分量,第二个ff是红色分量,第三个ff是绿色分量,第四个ff是蓝色分量。更改那些可以获得颜色的十六进制值。

使用

int color = Color.argb(255, 255, 175, 64);

或使用迭代器转换为十六进制转换器

答案 1 :(得分:2)

对于黄金,你需要一个比绿色更红的黄色,所以试试0xffffc000。在十进制中,红色255绿色192蓝色0.为了真正掌握RGB系统如何花费一些时间来玩这些值,我认为只有阅读它才能获得深刻理解。< / p>