5

我有以下问题:

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

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

我从以下网址查找了颜色代码(0xffffff00):http: //developer.android.com/reference/android/graphics/Color.html

问题:

然而这个颜色是黄色的,我想要的是金色。我也很想知道这是如何工作的,我的意思是如何定义我选择的颜色,到目前为止,我试图从开发人员网站上了解,但还不太清楚。

4

2 回答 2

8

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

采用

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

或使用整数到十六进制转换器

于 2013-07-27T10:53:56.683 回答
2

对于黄金,您需要比绿色更红的黄色,因此请尝试 0xffffc000。以十进制表示,红色 255 绿色 192 蓝色 0。要真正掌握 RGB 系统的工作原理,请花一些时间研究这些值,我认为仅仅通过阅读它是不可能获得深刻理解的。

于 2013-07-27T11:07:22.030 回答