繁体   English   中英

从rgb Stringin Java创建颜色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM