我有一个函数接收String作为名为' color'的参数。颜色类似于" FFF267"。现在我想做drawable.setColor(0xF0FFF267)。我怎么能这样做? 我尝试了以下但是它抛出异常。
ImageView circ = (ImageView) findViewById(R.id.circle);
GradientDrawable drawable = (GradientDrawable) circ.getDrawable();
drawable.setColor(0xF0 + Integer.toHexString(Integer.parseInt(color)));
答案 0 :(得分:3)
使用此
Color.parseColor(" yourcolorstring&#34);
答案 1 :(得分:1)
您可以像这样创建自定义方法:
public Color StringToColor(String colorString) {
return new Color(
Integer.valueOf( colorStrstring.substring( 1, 3 ), 16 ),
Integer.valueOf( colorStrstring.substring( 3, 5 ), 16 ),
Integer.valueOf( colorStrstring.substring( 5, 7 ), 16 ) );}
答案 2 :(得分:1)
尝试使用双引号
drawable.setColor("0xF0" + Integer.toHexString(Integer.parseInt(color)));
答案 3 :(得分:1)
感谢大家的帮助。我这样解决了:
drawable.setColor(Color.parseColor("#F0" + color));