.setBackgroundColor with Hex Color Code AndroidStudio

2022-09-03 16:24:21
View targetView;
targetView = (View)findViewById(R.id.mainlayout);

这有效,但是

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

而且这也不起作用

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

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

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

恳求可以帮我一些忙,顺便说一句,我正在使用Android Studio。


答案 1

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

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

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

第二类是针对Android的,可以在中找到。转换可以使用解析颜色方法完成。android.graphics.Color

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

因此,您应该检查已将哪种类导入到项目中。我建议使用Android版本的Color来满足您的需求。如果你已经这样做了,那么语句应该有效。ColortargetView.setBackgroundColor(Color.parseColor("#FFFFFF"));


答案 2

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

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

并设置背景色

targetView.setBackgroundResource(R.color.yourColor)  

这可能会有所帮助:颜色.xml


推荐