设置背景颜色:Android

Cj1*_*j1m 30 java android background colors

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

LinearLayout li=(LinearLayout)findViewById(R.id.myLayout);
li.setBackgroundColor(Color.parseColor("#rrggbb"));
Run Code Online (Sandbox Code Playgroud)

我的应用程序总是崩溃.有人可以帮助我吗?谢谢

Bor*_*lov 60

Color.parseColor("#rrggbb")
Run Code Online (Sandbox Code Playgroud)

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

例如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);
Run Code Online (Sandbox Code Playgroud)

资源


she*_*rin 21

这个问题很古老,但也可以帮助其他人.

试试这个 :

    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)
Run Code Online (Sandbox Code Playgroud)


Guy*_*Guy 6

试试这个:

li.setBackgroundColor(android.R.color.red); //or which ever color do you want
Run Code Online (Sandbox Code Playgroud)

编辑:发布logcat文件也会有所帮助.