设置背景颜色:Android

新手上路,请多包涵

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

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

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

原文由 Cj1m 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 430
2 个回答
> Color.parseColor("#rrggbb")
>
> ```

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

例如 `Color.parseColor("#000000")` 或 `Color.parseColor("#FFFFFF")`

[资源](http://www.w3schools.com/html/html_colors.asp)

从文档:

> public static int parseColor(字符串颜色字符串):
>
> 解析颜色字符串,返回对应的color-int。如果无法解析字符串,则抛出 IllegalArgumentException 异常。支持的格式有:#RRGGBB #AARRGGBB 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow', 'lightgray', 'darkgray ', 'grey', 'lightgrey', 'darkgrey', 'aqua', 'fuschia', 'lime', 'maroon', 'navy', 'olive', 'purple', 'silver', 'teal'

所以我相信,如果您使用的是 `#rrggbb` 您会在 logcat 中收到 **IllegalArgumentException**

[资源](http://developer.android.com/reference/android/graphics/Color.html#parseColor%28java.lang.String%29)

选择:

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

”`

资源

原文由 Boris Mocialov 发布,翻译遵循 CC BY-SA 3.0 许可协议

这个问题是一个老问题,但它也可以帮助其他人。

尝试这个 :

     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)

原文由 sherin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题