这可能是一个非常具体的问题,因为我找不到任何相关内容。 另外,对不起,如果我找不到更好的标题。
我正在使用android颜色,特别是,我需要让用户以编程方式更改视图的颜色。
我会给出一些价值观和榜样,以便你能更好地理解我的情况。
在我的res/colors.xml
中,我的color_green值为#4CAF50
。
活动开始后,我将此颜色设置为视图。
为了设置颜色,我首先将它转换为String hex颜色:
int color = myGreenColor; // This is directly taken from resource so R.color.green_color, (2131427355)
int value = ContextCompat.getColor(context, color); // (-11751600)
String hexColor = String.format("#%06X", (value)); // (#FF4CAF50)
然后我用
将其设置为视图 mView.setBackgroundColor(Color.parseColor(hexColor));
//(-11751600)再次
现在,当用户从找到的at this link
的pes8myGreenColor
库中选择另一种颜色时,ColorPicker
值会发生变化
假设我选择了与R,G,B整数中传递给库的构造函数完全相同的值。
如果我从对话框中打印返回的值,我会得到类似
的内容-11751600.
我无法适应任何set
,parse
或其他方法。
也就是说,如何转换此值才能使用之前的转换?
我需要将格式-11751600
转换为格式2131427355
。或任何其他中间步骤值。
真的很感激任何帮助。
答案 0 :(得分:1)
如果您有RGB值,可以直接执行以下操作:
String color = "#" + RR + GG + BB;
然后使用
将此颜色设置为您的视图mView.setBackgroundColor(Color.parseColor(color))
Color.parseColor(String)
支持#RRGGBB #AARRGGBB格式颜色。您可以在此处查看文档Android documentation