[英]Create Color from rgb Stringin Java
这是我的将字符串转换为颜色的代码:
public Color prepareColour(String str) {
str.replace("#", "");
float r = Float.valueOf(str.substring(0,1));
float g = Float.valueOf(str.substring(2,3));
float b = Float.valueOf(str.substring(4,5));
Color color = Color.valueOf(r,g,b);
return color;
}
我收到以下调试错误:
错误:(16,23)错误:构造函数Color类中的Color无法应用于给定类型;不能将其应用于给定类型。 必需:未找到参数:float,float,float原因:实际和正式参数列表的长度不同
但是,从Android Studio进行编译之前的建议是:
调用需要API级别26(当前最小值为17)......
我看到2011年有一些答案支持这种创建颜色的方法,因此可以肯定它可以在API 17上运行并且不需要26。
我尝试清理和重建项目,并用实际值替换str.substring
,并且没有任何变化。
为什么代码无法编译?
您是否尝试过使用Color.rgb(r,g,b)
代替Color.valueOf(...)
? Color.valueOf(...)
是Android Developer O预览中的一种非常新的方法,因此目前仅在1个API级别上有用。
另外,请确保您使用的整数范围为0-255,或者浮动范围为0-1。
您可以使用此代码。
Color.parseColor(String strColor);
这是Color
类的静态方法
public static int parseColor (String colorString)
https://developer.android.com/reference/android/graphics/Color.html#parseColor(java.lang.String)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.