如何设置我的Android应用程序的背景颜色。当我尝试:
LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parseColor("#rrggbb"));
我的应用总是崩溃。有人可以帮助我吗?感谢
答案 0 :(得分:51)
Color.parseColor("#rrggbb")
而不是#rrggbb
你应该为rr,gg和bb使用十六进制值0到F:
e.g。 Color.parseColor("#000000")
或Color.parseColor("#FFFFFF")
来自文档:
public static int parseColor(String colorString):
解析颜色字符串,并返回相应的color-int。如果 无法解析字符串,抛出IllegalArgumentException异常。 支持的格式为:#RRGGBB #AARRGGBB'red','blue','green', 'black','white','grey','cyan','magenta','yellow','lightgray', 'darkgray','grey','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);
答案 1 :(得分:17)
这个问题很古老,但也可以帮助其他人。
试试这个:
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)
答案 2 :(得分:6)
试试这个:
li.setBackgroundColor(android.R.color.red); //or which ever color do you want
编辑:发布logcat文件也会有所帮助。
答案 3 :(得分:0)
顺便说一下,在较新版本的AS上快速选择颜色的一个好建议就是输入#fff然后使用代码侧面的颜色选择器来选择你想要的颜色。比记住所有颜色的十六进制更快更容易。例如:
android:background="#fff"