Android编程实现TextView部分颜色变动的方法

2019-12-10 19:52:04于丽

易采站长站为您分析Android编程实现TextView部分颜色变动的方法,涉及Android针对TextView样式操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android编程实现TextView部分颜色变动的方法。,具体如下:

 

  1. public class StringHandleExampleActivity extends Activity {  /** Called when the activity is first created. */ 
  2. private TextView textView;  private String tempStr = "abcd12我的中古zx9yu5!f3,,"; 
  3. private StringBuffer sb;  private List<Integer> list; 
  4. @Override  public void onCreate(Bundle savedInstanceState) { 
  5. super.onCreate(savedInstanceState);  setContentView(R.layout.main); 
  6. sb = new StringBuffer();  list = new ArrayList<Integer>(); 
  7. textView = (TextView) findViewById(R.id.textView);  for (int i = 0; i < tempStr.length(); i++) { 
  8. if (matcherReg(String.valueOf(tempStr.charAt(i)))) {  list.add(i); 
  9. }  } 
  10. SpannableStringBuilder style=new SpannableStringBuilder(tempStr);   for (int i = 0; i < list.size(); i++) { 
  11. System.out.println(list.get(i)+", ");  // style.setSpan(new BackgroundColorSpan(Color.RED),list.get(i),list.get(i)+1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); //设置指定位置textview的背景颜色  
  12. style.setSpan(new ForegroundColorSpan(Color.RED),list.get(i),list.get(i)+1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); //设置指定位置文字的颜色   } 
  13. textView.setText(style);   } 
  14. private boolean matcherReg(CharSequence c){  String regEx="[^0-9]";  
  15. Pattern p = Pattern.compile(regEx);   Matcher m = p.matcher(c.toString());  
  16. if (m.matches()) {  return false; 
  17. }  return true; 
  18. }  }