Android编程实现TextView部分颜色变动的方法
本文实例讲述了Android编程实现TextView部分颜色变动的方法。分享给大家供大家参考,具体如下:
publicclassStringHandleExampleActivityextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
privateTextViewtextView;
privateStringtempStr="abcd12我的中古zx9yu5!f3,,";
privateStringBuffersb;
privateList<Integer>list;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sb=newStringBuffer();
list=newArrayList<Integer>();
textView=(TextView)findViewById(R.id.textView);
for(inti=0;i<tempStr.length();i++){
if(matcherReg(String.valueOf(tempStr.charAt(i)))){
list.add(i);
}
}
SpannableStringBuilderstyle=newSpannableStringBuilder(tempStr);
for(inti=0;i<list.size();i++){
System.out.println(list.get(i)+",");
//style.setSpan(newBackgroundColorSpan(Color.RED),list.get(i),list.get(i)+1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//设置指定位置textview的背景颜色
style.setSpan(newForegroundColorSpan(Color.RED),list.get(i),list.get(i)+1,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);//设置指定位置文字的颜色
}
textView.setText(style);
}
privatebooleanmatcherReg(CharSequencec){
StringregEx="[^0-9]";
Patternp=Pattern.compile(regEx);
Matcherm=p.matcher(c.toString());
if(m.matches()){
returnfalse;
}
returntrue;
}
}
希望本文所述对大家Android程序设计有所帮助。