Android 单独控件实现不同字体大小、不同颜色


 使用多个控件来显示会使代码显得臃肿,

 

发现android提供了一个Span类 来实现这个功能


radioButton = (RadioButton) radioGroup.getChildAt(i);
String txt = "差评(123)";
Spannable spannable = new SpannableString(txt);
spannable.setSpan(new AbsoluteSizeSpan(25,false),0,2, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
spannable.setSpan(new AbsoluteSizeSpan(20,false), 2, txt.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
radioButton.setText(spannable);

Spanned.SPAN_EXCLUSIVE_EXCLUSIVE --- 不包含两端start和end所在的端点
Spanned.SPAN_EXCLUSIVE_INCLUSIVE --- 不包含端start,但包含end所在的端点
Spanned.SPAN_INCLUSIVE_EXCLUSIVE --- 包含两端start,但不包含end所在的端点
Spanned.SPAN_INCLUSIVE_INCLUSIVE--- 包含两端start和end所在的端点

ForegroundColorSpan(int color):参数color,字体颜色。
ForegroundColorSpan(Parcel src):参数src,包含字体颜色信息的包装类
BackgroundColorSpan(int color):参数color,颜色值。
BackgroundColorSpan(Parcel src):参数src,包含颜色值信息的包装类

你可能感兴趣的:(Android)