android TextView实现多种颜色显示


             设计中TextView里面的字体有时候需要设置不同的颜色,来达到提示的目的,总结有以下几种方法:


方法一:

       使用SpannableStringBuilder 


        TextView textView=(TextView)findViewById(R.id.text_show);
        SpannableStringBuilder style = new SpannableStringBuilder("延迟(必须设置)");
        style.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        style.setSpan(new ForegroundColorSpan(Color.RED), 3, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView.setText(style);


   显示效果就是:

            延迟(必须设置)



方法二:

       使用SpannableString,定义不同style


      
 
      


       TextView mTextView = (TextView)findViewById(R.id.test);
       SpannableString styledText = new SpannableString("亲爱的小宝,你好");
            styledText.setSpan(new TextAppearanceSpan    (this,R.style.style0),0,3,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  

       styledText.setSpan(new TextAppearanceSpan(this, R.style.style1), 3, 5,   Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

       mTextView.setText(styledText, TextView.BufferType.SPANNABLE);



方法三:

       使用Html


       String str1=String.format("价格 :%s", String.format("¥%1$.2f元",    item.getPrice()));
       String str2=String.format("状态 :%s", "已售");

       mStaringPriceTV.setText(Html.fromHtml(str1));
       mCountdownTimeTV.setText(Html.fromHtml(str2));



你可能感兴趣的:(android,textview)