截取字符串,改变第N个字符的颜色;自定义方法,oncreat中调用

用到过很多次,每次在用的时候,思路就会断线,以此特意写出来,帮助自己记忆;

修改TextView 中部分文字的颜色

  1. textView = (TextView) findViewById(R.id.textview);  
  2. SpannableStringBuilder builder = new SpannableStringBuilder(textView.getText().toString());  
  3.   
  4. //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色  
  5. ForegroundColorSpan redSpan = new ForegroundColorSpan(Color.RED);  
  6. ForegroundColorSpan whiteSpan = new ForegroundColorSpan(Color.WHITE);  
  7. ForegroundColorSpan blueSpan = new ForegroundColorSpan(Color.BLUE);  
  8. ForegroundColorSpan greenSpan = new ForegroundColorSpan(Color.GREEN);  
  9. ForegroundColorSpan yellowSpan = new ForegroundColorSpan(Color.YELLOW);  
  10.   
  11.   
  12.   
  13. builder.setSpan(redSpan, 01, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
  14. builder.setSpan(whiteSpan, 12, Spannable.SPAN_INCLUSIVE_INCLUSIVE);  
  15. builder.setSpan(blueSpan, 23, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
  16. builder.setSpan(greenSpan, 34, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
  17. builder.setSpan(yellowSpan, 4,5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
  18. textView.setText(builder);

  19.  

二、外部方法调用

private TextView tv_samplenumber_lan;

tv_samplenumber_lan=(TextView) findViewById(R.id.tv_samplenumber_lan);

tv_samplenumber_lan=dofor(tv_samplenumber_lan);

public static TextView dofor(TextView str){
    SpannableStringBuilder builder = new SpannableStringBuilder(str.getText().toString());
  //ForegroundColorSpan 为文字前景色,BackgroundColorSpan为文字背景色
    ForegroundColorSpan redSpan = new ForegroundColorSpan(Color.RED);
    if (str.getText().toString().substring(4,5).equals("*")){
    builder.setSpan(redSpan, 4,5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }else if (str.getText().toString().substring(7,8).equals("*")){
     builder.setSpan(redSpan, 7,8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
    str.setText(builder);
    return str;
}


特意附上大神给讲解的实例代码



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值