繁体   English   中英

设置背景颜色:Android

[英]set background color: Android

如何设置我的 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")

资源

来自文档:

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);

资源

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

试试这个 :

    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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM