如何使用整数设置颜色?

Aru*_*run 7 views colors android-layout setbackground

如何将整数ex:13369395中的颜色代码转换为特定于android.由于13369395也是我试过的整数

mainLayout.setTextColor(13369395);
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我也尝试将13369395转换为十六进制,如:

mainLayout.setBackgroundColor(Integer.parseInt(13369395 +"", 16)+0xFF000000);
Run Code Online (Sandbox Code Playgroud)

但它也没有帮助.

Aru*_*run 8

我得到了解决方案.只需使用Hexadecimal,如下所示:

Integer.toHexString(colour);

如果您只是使用它,则返回整数的十六进制字符串

mainLayout.setBackgroundColor(Integer.parseInt(hexVal,16));

它不会工作.你需要添加掩码

mainLayout.setBackgroundColor(0xff000000 + Integer.parseInt(hexVal,16));

这解决了这个问题


Noo*_*aja 7

这个问题很老了。这个答案仍然可以帮助那些寻找直接将颜色设置为整数的方法的人。

如果你查看android文档,白色的常量值为-1,黑色的常量值为-16777216。(即)整个颜色整数值范围是(-1到-16777216)。因此,您只需将整数值添加到-16777216即可。

例如,如果你想设置白色,其十进制表示为 16777215 (0xffffff),那么 16777215 - 16777216 将为你提供 -1 Android 中黑色的颜色常量。


小智 5

尝试通过:

mainLayout.setBackgroundColor(Color.parseColor("#FFFFFF"));
Run Code Online (Sandbox Code Playgroud)


小智 -2

可以直接取十六进制代码。例如

mainLayout.setBackgroundColor(#0BB5FF);