如何从String传递setColor参数

时间:2018-06-07 16:29:38

标签: java android hex

我有一个函数接收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)));

4 个答案:

答案 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));