同一TextView的文字不同大小以及部分字体加粗设置

在开发过程中,我们有时候会遇到一个范围内的文字需要有不同的大小,这时候当然再添加一个TextView是最简单粗暴,但是如何在同一个TextView中设置不一样的大小呢。
这时需要使用到SpannableString来编辑文本内容,将文本内容存入其中,如何通过AbsoluteSizeSpan来改变字体大小,最后在spanString的setSpan方法中设置玩吗需要的样式,数字表示改变大小的字的起始位置:

SpannableString spanString = new SpannableString("文本内容");
AbsoluteSizeSpan span = new AbsoluteSize(30);//这里设置要改变的字的大小
spanString.setSpan(span,0,2,Spannable.SPAN_INCLUSIVE_INCLUSIVE);

那么我们设置好了改变大小的样式,我们该怎么进行使用呢?很简单,只要把存放文本内容的之前定义好的SpannableString放入TextView中即可:

TextView.setText(spanString);

同样的,我们如果要设置字体的加粗,也是通过SpannableString来设置的,当然我们已经知道如何在TextView的xml文件中设置参数来使得全部的文字加粗显示,这里我们部分文字的加粗也是用到BOLD这个文字style

SpannableString string = new SpannableString("文字内容");
StyleSpan span = new StyleSpan(Typeface.BOLD);
spannableString.setSpan(span,0,2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

和字体大小设置不同的是这里使用的是StyleSpan,在里面设置文字格式,然后在setSpan方法中用到的SPAN_EXCLUSIVE_EXCLUSIVE这个参数。

你可能感兴趣的:(安卓开发)