Android(安卓)富文本
16lz
2021-01-26
原文链接: https://www.cnblogs.com/qynprime/p/8026672.html
SpannableString其实和String一样,都是一种字符串类型,SpannableString可以直接作为TextView的显示文本,不同的是SpannableString可以通过使用其方法setSpan方法实现字符串各种形式风格的显示,重要的是可以指定设置的区间,也就是为字符串指定下标区间内的子字符串设置格式。
setSpan(Object what, int start, int end, int flags)方法需要用户输入四个参数,
1、
参数一:表示样式,上面的ForegroundColorSpan就是一种样式,常用的样式如下:
BackgroundColorSpan
: 文本背景色ForegroundColorSpan
: 文本颜色MaskFilterSpan
: 修饰效果,如模糊(BlurMaskFilter)浮雕RasterizerSpan
: 光栅效果StrikethroughSpan
: 删除线SuggestionSpan
: 相当于占位符UnderlineSpan
: 下划线AbsoluteSizeSpan
: 文本字体(绝对大小)DynamicDrawableSpan
: 设置图片,基于文本基线或底部对齐。ImageSpan
: 图片RelativeSizeSpan
: 相对大小(文本字体)ScaleXSpan
: 基于x轴缩放StyleSpan
: 字体样式:粗体、斜体等SubscriptSpan
: 下标(数学公式会用到)SuperscriptSpan
: 上标(数学公式会用到)TextAppearanceSpan
: 文本外貌(包括字体、大小、样式和颜色)TypefaceSpan
: 文本字体URLSpan
: 文本超链接ClickableSpan
: 点击事件
2、参数二、三,start
表示需要设置格式的子字符串的起始下标,end
表示终了下标
3、参数四,flags
属性共有四种:
Spanned.SPAN_INCLUSIVE_EXCLUSIVE
从起始下标到终了下标,包括起始下标Spanned.SPAN_INCLUSIVE_INCLUSIVE
从起始下标到终了下标,同时包括起始下标和终了下标Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
从起始下标到终了下标,但都不包括起始下标和终了下标Spanned.SPAN_EXCLUSIVE_INCLUSIVE
从起始下标到终了下标,包括终了下标
示例:
ForegroundColorSpan
,为文本设置前景色,效果和TextView的setTextColor()类似,实现方法如下:
SpannableString spannableString = new SpannableString("设置文字的前景色为淡蓝色");ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#0099EE"));spannableString.setSpan(colorSpan, 9, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); textView.setText(spannableString);
效果:
-- NORMAL --
-- NORMAL --
-- NORMAL --更多相关文章
- Flutter基本UI组件StatefulWidget与StatelessWidget(上)
- 用Android自带的DrawerLayout和ActionBarDrawerToggle实现侧滑效
- 跟Google学习Android开发-起始篇-构建你的第一个应用程序(1)
- 跟Google学习Android开发-起始篇-保存数据(1)
- 跟Google学习Android开发-起始篇-保存数据(3)
- Android——ECG心电图的绘制实现(二)
- Android(安卓)下枚举型使用、及与 int 转换的困惑
- Android获取内置sdcard跟外置sdcard路径
- 仿写Android淘宝客户端界面(一)——仿Tab选项卡切换界面