2013-01-18 102 views
1

是否有任何人指导我,为什么使用用户自定义颜色color.xml不会产生预期的结果低于 源于SpanableString是示例代码Spanable串色结果黑色颜色

sorry_Span=new SpannableString("Sorry, you dont have any registered device, what you want to do ?"); 
    sorry_Span.setSpan(new ForegroundColorSpan(Color.BLUE), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    //sorry_Span.setSpan(new ForegroundColorSpan(R.color.blue_txt), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    sorry_Msg.setText(sorry_Span); 

当与运行在Color.Blue它导致罚款 但是当它是空白文本R.color.blue_txt提前帮助运行 感谢

回答

9

所以我发现用这种希望这能帮助谁可能要使用自定义颜色

sorry_Span=new SpannableString("Sorry, you dont have any registered device, what you want to do ?"); 
    sorry_Span.setSpan(new ForegroundColorSpan(Color.BLUE), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    //sorry_Span.setSpan(new ForegroundColorSpan(R.color.blue_txt), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    sorry_Msg.setText(sorry_Span); 

人家在我自己的答案可以用以下方法处理定制颜色方法

Color.rgb(int red,int green,int blue) 

所以与使用这个我做我自己的自定义COLR如下

sorry_Span=new SpannableString("Sorry, you dont have any registered device, what you want to do ?"); 

    // sorry_Span.setSpan(new ForegroundColorSpan(Color.rgb(34,141,65), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
sorry_Span.setSpan(new ForegroundColorSpan(getResource().getColor(R.color.mycolor), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    sorry_Msg.setText(sorry_Span); 
5

你的颜色XML应该看起来像:

<?xml version="1.0" encoding="utf-8"?> 


<resources> 
    <color name="blue_color">#ff0000FF</color>  
</resources> 

编辑: 改成这样:

sorry_Span.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue_txt)), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
+0

我color.xml已经是这样的而其文件夹值 –

+1

我编辑我的问题:) – 2013-01-18 13:39:50

相关问题