textView.setTextColor 只能是textView.setTextColor(Color.Red);
textView.setTextColor(0xfff1f6fa);这样 我要用 "#f1f6fa" ,"orange" 这样的颜色怎么做  
这是一个字符串 外部程序传进来的  不知道会是什么值

解决方案 »

  1.   

    t.setTextColor(Color.parseColor(colorString))
      

  2.   

    textView.setTextColor(0xfff1f6fa); 这个是32位ARGB  "#f1f6fa" 这个是24位的 RGB 值,你可以手动转换他到int然后用"orange" 这个,你必须要先定义,因为系统不一定有这个定义,不能直接用
      

  3.   


    "#f1f6fa"  这个怎么转到 int ?
      

  4.   


    2楼这么说的,但是我没用过或者 int a=Integer.parseInt("ff",16);后面的参数是进制,但是要去掉那个井号
      

  5.   

    241,246,250这“#f1f6fa”的RGB转换方法:
    利用计算器将十六进制转化成十进制
    f1   f6    fa
    241  246   250
      

  6.   

    有源码都不去看    public static int parseColor(String colorString) {
            if (colorString.charAt(0) == '#') {
                // Use a long to avoid rollovers on #ffXXXXXX
                long color = Long.parseLong(colorString.substring(1), 16);
                if (colorString.length() == 7) {
                    // Set the alpha value
                    color |= 0x00000000ff000000;
                } else if (colorString.length() != 9) {
                    throw new IllegalArgumentException("Unknown color");
                }
                return (int)color;
            } else {
                Integer color = sColorNameMap.get(colorString.toLowerCase(Locale.US));
                if (color != null) {
                    return color;
                }
            }
            throw new IllegalArgumentException("Unknown color");
        }