如何使用整数设置颜色?
问题描述:
如何将颜色代码以整数ex:13369395转换为android专用。由于13369395也是我试过的整数如何使用整数设置颜色?
mainLayout.setTextColor(13369395);
但它不工作。
我也试图转换13369395为十六进制,如:
mainLayout.setBackgroundColor(Integer.parseInt(13369395 +"", 16)+0xFF000000);
,但它也没有帮助。
答
可以直接采取十六进制代码。例如
mainLayout.setBackgroundColor(#0BB5FF);
答
我得到了解决方案。只是一个十六进制变通如下:
Integer.toHexString(colour);
它返回十六进制字符串为您的整数,再如果你只是通过
mainLayout.setBackgroundColor(Integer.parseInt(hexVal,16));
它不会工作使用。您需要添加面具作为
mainLayout.setBackgroundColor(0xff000000 + Integer.parseInt(hexVal,16));
这已经解决了这个问题
答
的问题是很老了。但我仍然发现这个答案会帮助搜索某种方式的人直接将颜色设置为整数。
如果你看一下android文档,white的常数值是-1,黑色是-16777216。 (即)整个颜色的int值范围是(-1到-16777216)。所以你可以简单地将整数值加到-16777216。
例如,如果你想设置颜色白色的十进制表示是16777215(0xffffff),那么16777215 - 16777216会给你-1在android中黑色的颜色常量。
答
尝试传:
mainLayout.setBackgroundColor(Color.parseColor("#FFFFFF"));
我得到了解决。只需要使用十六进制,如下所示:Integer.toHexString(color);它返回整数的十六进制字符串,如果你只是通过使用\t mainLayout.setBackgroundColor(Integer.parseInt(hexVal,16));它不会工作。您需要添加掩码为\t mainLayout.setBackgroundColor(0xff000000 + Integer.parseInt(hexVal,16));这已经解决了这个问题。谢谢 – amandroid
mainLayout.setBackgroundColor(#0BB5FF);从Java 1.6开始,这不受支持 – LokiDroid