Ale*_*ang 3 java android android-api-levels
这是我将字符串转换为颜色的代码:
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;
}
Run Code Online (Sandbox Code Playgroud)
我收到以下调试错误:
错误:(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 范围内的浮点数。
| 归档时间: |
|
| 查看次数: |
6144 次 |
| 最近记录: |