.set背景颜色与十六进制颜色代码Android Studio

时间:2014-09-14 20:00:01

标签: java android android-studio

View targetView;
targetView = (View)findViewById(R.id.mainlayout);

这可行,但

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

这也没有用

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

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

和:无法解析方法' pasrsehexString(java.lang.String)'

请求帮助我以及我使用Android Studio的方式。

3 个答案:

答案 0 :(得分:33)

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"));语句应该有效。

答案 1 :(得分:3)

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

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

并设置Backgroundcolor

targetView.setBackgroundResource(R.color.yourColor)  

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

答案 2 :(得分:3)

无需在代码中解析字符串颜色。

如果您想在代码中对颜色值进行硬编码(而不是像在FreshD&#39的答案中那样使用颜色资源),您可以使用int文字。例如:

targetView.setBackgroundColor(0xffffffff);

颜色在ARGB中。