是否有任何人指导我,为什么导致String从Spanable使用用户自定义颜色color.xml不会导致低于预期的结果示例代码
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);
Run Code Online (Sandbox Code Playgroud)
当Color.Blue它运行时,它的结果很好,但是当R.color.blue_txt它运行时它的空白文本在此先感谢您的帮助
Usm*_*urd 10
所以我用自己的希望找到了答案,这可以帮助那些想要使用自定义颜色的人
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);
Run Code Online (Sandbox Code Playgroud)
可以使用以下方法处理自定义颜色
Color.rgb(int red,int green,int blue)
Run Code Online (Sandbox Code Playgroud)
所以使用这个我自己定制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);
Run Code Online (Sandbox Code Playgroud)
小智 5
你的颜色XML应该是这样的:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="blue_color">#ff0000FF</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
编辑:更改为:
sorry_Span.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue_txt)), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5123 次 |
| 最近记录: |