设置背景颜色:Android

时间:2013-08-03 13:16:45

标签: java android colors background

如何设置我的Android应用程序的背景颜色。当我尝试:

LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parseColor("#rrggbb"));

我的应用总是崩溃。有人可以帮助我吗?感谢

4 个答案:

答案 0 :(得分:51)

Color.parseColor("#rrggbb")

而不是#rrggbb你应该为rr,gg和bb使用十六进制值0到F:

e.g。 Color.parseColor("#000000")Color.parseColor("#FFFFFF")

Source

来自文档:

  

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

Source

替代:

Color mColor = new Color();
mColor.red(redvalue);
mColor.green(greenvalue);
mColor.blue(bluevalue);
li.setBackgroundColor(mColor);

Source

答案 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"