gpt4 book ai didi

Android:颜色代码

转载 作者:行者123 更新时间:2023-11-29 00:18:02 26 4
gpt4 key购买 nike

我正在使用 AmbilWarna 的库实现颜色选择器,并打开了 alpha。

示例代码如下:https://code.google.com/p/android-color-picker/

返回颜色代码时,

  • 亮绿色,中间透明度:颜色代码 = 1980104448
  • 中等透明度的亮黄色:颜色代码 = 1912340224
  • 没有透明度的亮红色:颜色代码 = -65536(负数?)
  • 不透明的白色:颜色代码 = -1
  • 100% 透明度的白色:颜色代码 = 16777215

问题:

我想使用这些返回的颜色代码来设置按钮的背景颜色。如何解释这些颜色代码?为什么有些人是消极的?是否需要转成RGB码?

最佳答案

所有值均为十进制。

100% 透明度的白色:颜色代码 = 16777215

16777215(10) = FFFFFF(16)

这个不用转换,直接设置就可以。

myView.setBackgroundColor(value);

如果你有十六进制值例如“#FFFFFF”,我们必须设置为

myView.setBackgroundColor (Color.parseColor ("#FFFFFF"));

Color.parseColor ("#FFFFFF"); 被调用,然后返回 int

下面的方法是从android.graphics.Color.java复制过来的

/**
* Parse the color string, and return the corresponding color-int.
* If the string cannot be parsed, throws an IllegalArgumentException
* exception. Supported formats are:
* #RRGGBB
* #AARRGGBB
* 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta',
* 'yellow', 'lightgray', 'darkgray', 'grey', 'lightgrey', 'darkgrey',
* 'aqua', 'fuschia', 'lime', 'maroon', 'navy', 'olive', 'purple',
* 'silver', 'teal'
*/
public static int parseColor(String colorString) {
if (colorString.charAt(0) == '#') {
// Use a long to avoid rollovers on #ffXXXXXX
long color = Long.parseLong(colorString.substring(1), 16);
if (colorString.length() == 7) {
// Set the alpha value
color |= 0x00000000ff000000;
} else if (colorString.length() != 9) {
throw new IllegalArgumentException("Unknown color");
}
return (int)color;
} else {
Integer color = sColorNameMap.get(colorString.toLowerCase(Locale.ROOT));
if (color != null) {
return color;
}
}
throw new IllegalArgumentException("Unknown color");
}

关于Android:颜色代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25104696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com