.setBackgroundColor 与十六进制颜色代码 AndroidStudio

新手上路,请多包涵
View targetView;
targetView = (View)findViewById(R.id.mainlayout);

这行得通但是

targetView.setBackgroundColor(Color.parseColor("#FFFFFF"));

而且这也行不通

targetView.setBackgroundColor(Color.pasrsehexString("#FFFFFF"));

错误:无法解析方法’parseColor(java.lang.String)’

并且:无法解析方法’pasrhexString(java.lang.String)’

请有人帮助我,顺便说一句,我正在使用 Android Studio。

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

阅读 625
2 个回答

Java/Android 中有两个主要的颜色处理类。

第一个来自“普通”Java,可以在 java.awt.Color 中找到。此类支持使用 decode 方法将 String 转换为颜色。例子:

 Color red = Color.decode("#FF0000");

第二类适用于 Android,可以在 android.graphics.Color 中找到。可以使用方法 parseColor 完成转换。

 int red = Color.parseColor("#FF0000");

因此,您应该检查您导入到项目中的是 Color 类。我建议为您的案例使用 Android 版本的 Color。如果您已完成该语句 targetView.setBackgroundColor(Color.parseColor("#FFFFFF")); 应该有效。

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

在资源文件 color.xml 中定义您的颜色

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <color name="yourColor">#FFFFFF</color>
</resources>

并设置背景色

targetView.setBackgroundResource(R.color.yourColor)

这可能会有所帮助: Color.xml

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

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