我正在使用以下代码
创建动态布局LinearLayout outerLinearLayout = new LinearLayout(activity);
outerLinearLayout.setBackgroundColor(Color.WHITE);
正如您所看到的,我将其背景颜色设置为白色,现在假设我有包含{“#FF2233”,...}等元素的字符串数组,那么如何将此十六进制值传递给{{1}动态的?
我的动机是在运行时传递动态颜色值,而不是传递像setBackgroundColor()
这样的修正值。
答案 0 :(得分:6)
尝试使用Color类,此类有一个方法将十六进制中的颜色解析为Android有效值。
Color.parseColor("#FF2233");
答案 1 :(得分:1)
color的值是整数,因此它可以用作字符串,而不能再次转换为int
int color = Integer.parseInt("bdbdbd", 16)+0xFF000000;
根据您的需要使用此颜色
或直接你可以像Color.parseColor("yours color value");
通过手段
您可以将HEX String值解析为Color并使用
int color = Integer.parseInt(“bdbdbd”,16)+ 0xFF000000; 如
LinearLayout outerLinearLayout = new LinearLayout(activity); outerLinearLayout.setBackgroundColor(color )
或使用Color.parseColor(“你的颜色值”) 如
LinearLayout outerLinearLayout = new LinearLayout(activity); outerLinearLayout.setBackgroundColor(Color.parseColor("yours color value"))
答案 2 :(得分:1)
这很简单。您只需将HEX String
解析为Color
并加载如下:
LinearLayout outerLinearLayout = new LinearLayout(activity);
outerLinearLayout.setBackgroundColor(Color.parseColor("#101010"));
Color.parseColor("#"+your color value)
已通过