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程序设计有所帮助。