Ste*_*han 14 android android-jetpack-compose android-jetpack-compose-text
我有一个包含 html 的字符串,如何在 Jetpack 撰写文本中显示它?
在 TextView 中,我会使用 Spanned 并执行以下操作:
TextView.setText(Html.fromHtml("<p>something", HtmlCompat.FROM_HTML_MODE_LEGACY)
Run Code Online (Sandbox Code Playgroud)
如何使用 Jetpack compose 中的文本执行此操作?
与 Yhondri 相同的答案,但如果您的目标 api >24,则使用 HtmlCompat:
@Composable
fun Html(text: String) {
AndroidView(factory = { context ->
TextView(context).apply {
setText(HtmlCompat.fromHtml(text, HtmlCompat.FROM_HTML_MODE_LEGACY))
}
})
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,Jetpack compose 还不支持 HTML...
所以,你可以做的是:
选项 1:创建您自己的 HTML 解析器
Jetpack compose 支持基本样式,例如粗体、颜色、字体等。因此您可以做的是循环原始 HTML 文本并手动应用文本样式。
选项 2:将旧的集成TextView到您的 Jetpack 组合中。
谢谢。
| 归档时间: |
|
| 查看次数: |
9799 次 |
| 最近记录: |