[英]Formatting long paragraphs in android TextView
HTML 标签是简单问题的简单解决方案,例如将文本设为粗体、斜体,甚至显示项目符号。 要为包含 HTML 标签的文本设置样式,请调用 Html.fromHtml 方法。 在幕后,HTML 格式被转换为跨度。 请注意,Html 类不支持所有 HTML 标签和 CSS 样式,例如将项目符号设为另一种颜色。
val text = "My text <ul><li>bullet one</li><li>bullet two</li></ul>"
txtview.text = Html.fromHtml(text)
Span 允许您使用更细粒度的自定义来实现多样式文本。 例如,您可以通过应用 BulletSpan 将文本的段落定义为具有项目符号点。 您可以自定义文本边距和项目符号之间的间隙以及项目符号的颜色。 从 Android P 开始,您甚至可以设置项目符号点的半径。 您还可以为跨度创建自定义实现。 查看下面的“创建自定义跨度”部分以了解如何操作。
val spannable = SpannableString("My text \nbullet one\nbullet two")
spannable.setSpan(
BulletPointSpan(gapWidthPx, accentColor),/* start index */ 9, /* end index */ 18,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
spannable.setSpan(BulletPointSpan(gapWidthPx, accentColor),/* start index */ 20, /* end index */ spannable.length,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
txtview.text = spannable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.