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的方式。
答案 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中。