developer.android.google.cn/guide/topic…
0. 使用一个TextView来加载1个html文件的内容
- 获取html文件
- 将文字的样式转换为Android样式(textColor,textSize等)
- 自定义一套注解规则,注解名称类似
- size-15|color-color1|bold
- **
- 注解名称可以由多个‘基本注解’拼接而成
- 使用Android API解析注解,为TextView设置不同的Span即可.
<string name="title">Best practices for <annotation font="title_emphasis">text</annotation> on Android</string>
1. Span简单记录
AlignmentSpan
LineHeightSpan
setContentView(R.layout.activity_string_annotation)
val tv1:TextView = findViewById(R.id.tv1)
val builder: SpannableStringBuilder = SpannableStringBuilder(getString(R.string.str1))
//AlignmentSpan 可以设置一个段落的对齐方式
builder.setSpan(AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER),0,10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
//LineHeightSpan 改变段落的行高,可用于调整行与行之间的间距。注意,LineHeightSpan改变的是整个段落的行高,即使它只覆盖段落的一部分
builder.setSpan(LineHeightSpan.Standard(100), 11, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
tv1.text = builder
<string name="str1">一二三四五六七八九十\n \n韩国福克斯立恒改亏了多少了发哈开始的赶快拉上客户开始的发货港科技馆覅局的韩国覅回家反馈结果看上面看和文化也倒计时开始了疯狂胡椒粉普朗克那就好GV房地产sea我现在地方</string>