如何设置我的 android 应用程序的背景颜色。当我尝试:
LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parseColor("#rrggbb"));
我的应用程序总是崩溃。有人可以帮帮我。谢谢
如何设置我的 android 应用程序的背景颜色。当我尝试:
LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parseColor("#rrggbb"));
我的应用程序总是崩溃。有人可以帮帮我。谢谢
Color.parseColor("#rrggbb")
而不是#rrggbb
你应该为 rr、gg 和 bb 使用 0 到 F 的十六进制值:
例如Color.parseColor("#000000")
或Color.parseColor("#FFFFFF")
从文档:
公共静态 int parseColor(字符串颜色字符串):
解析颜色字符串,并返回对应的颜色整数。如果无法解析字符串,则抛出 IllegalArgumentException 异常。支持的格式有:#RRGGBB #AARRGGBB 'red'、'blue'、'green'、'black'、'white'、'gray'、'cyan'、'magenta'、'yellow'、'lightgray'、'darkgray ','灰色','lightgrey','darkgrey','aqua','fuschia','lime','maroon','navy','olive','purple','silver','teal'
所以我相信,如果你正在使用#rrggbb
你的 logcat 中的IllegalArgumentException
选择:
Color mColor = new Color();
mColor.red(redvalue);
mColor.green(greenvalue);
mColor.blue(bluevalue);
li.setBackgroundColor(mColor);
这个问题是一个老问题,但它也可以对其他人有所帮助。
尝试这个 :
li.setBackgroundColor(getResources().getColor(R.color.blue));
or
li.setBackgroundColor(getResources().getColor(android.R.color.red));
or
li.setBackgroundColor(Color.rgb(226, 11, 11));
or
li.setBackgroundColor(Color.RED)
尝试这个:
li.setBackgroundColor(android.R.color.red); //or which ever color do you want
编辑:发布 logcat 文件也会有所帮助。
顺便说一句,在较新版本的 AS 上快速选择颜色的一个好技巧是简单地键入 #fff,然后使用代码一侧的颜色选择器选择您想要的颜色。比记住所有颜色十六进制更快更容易。例如:
android:background="#fff"
int R = 111; //My be assigned dynamic value
int G = 111; //My be assigned dynamic value
int B = 111; //My be assigned dynamic value
getWindow().getDecorView().setBackgroundColor(Color.rgb(R, G, B));