失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android 中TextView设置部分文字背景色和文字颜色

android 中TextView设置部分文字背景色和文字颜色

时间:2023-04-02 05:21:11

相关推荐

android 中TextView设置部分文字背景色和文字颜色

通过SpannableStringBuilder来实现,它就像html里边的元素改变指定文字的文字颜色或背景色

public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String str="这是设置TextView部分文字背景颜色和前景颜色的demo!";int bstart=str.indexOf("背景");int bend=bstart+"背景".length();int fstart=str.indexOf("前景");int fend=fstart+"前景".length();SpannableStringBuilder style=new SpannableStringBuilder(str); style.setSpan(new BackgroundColorSpan(Color.RED),bstart,bend,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); style.setSpan(new ForegroundColorSpan(Color.RED),fstart,fend,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); TextView tvColor=(TextView) findViewById(R.id.tv_color);tvColor.setText(style);}}

项目中代码:

//textview 设置部分颜色public SpannableStringBuilder setPartColorText(String str){//使用SpannableStringBuilder类SpannableStringBuilder spannableStringBuilder=new SpannableStringBuilder(str);//确定部分颜色的位置int start=str.indexOf(content);int end=start+content.length();//确定颜色为红色ForegroundColorSpan mForeColor=new ForegroundColorSpan(Color.RED);//setspanspannableStringBuilder.setSpan(mForeColor, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);return spannableStringBuilder;}

AbsoluteSizeSpan(int size)---- 设置字体大小,参数是绝对数值,相当于Word中的字体大小

RelativeSizeSpan(float proportion)---- 设置字体大小,参数是相对于默认字体大小的倍数,比如默认字体大小是x, 那么设置后的字体大小就是x*proportion,这个用起来比较灵活,proportion>1就是放大(zoom in), proportion<1就是缩小(zoom out)

ScaleXSpan(float proportion)---- 缩放字体,与上面的类似,默认为1,设置后就是原来的乘以proportion,大于1时放大(zoon in),小于时缩小(zoom out)

BackgroundColorSpan(int color)----背景着色,参数是颜色数值,可以直接使用android.graphics.Color里面定义的常量,或是用Color.rgb(int, int, int)

ForegroundColorSpan(int color)----前景着色,也就是字的着色,参数与背景着色一致TypefaceSpan(String family)----字体,参数是字体的名字比如“sans", "sans-serif"等StyleSpan(Typeface style)-----字体风格,比如粗体,斜体,参数是android.graphics.Typeface里面定义的常量,如Typeface.BOLD,Typeface.ITALIC等等。

StrikethroughSpan----如果设置了此风格,会有一条线从中间穿过所有的字,就像被划掉一样

如果觉得《android 中TextView设置部分文字背景色和文字颜色》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。