Jetpack compose 以文本形式显示 html

时间:2021-06-22 14:56:26

标签: android android-jetpack-compose android-jetpack-compose-text

我有一个包含 html 的字符串,如何在 Jetpack compose Text 中显示它?

在 TextView 中,我会使用 Spanned 并执行以下操作:

TextView.setText(Html.fromHtml("<p>something", HtmlCompat.FROM_HTML_MODE_LEGACY)

如何使用来自 Jetpack compose 的 Text 执行此操作?

2 个答案:

答案 0 :(得分:0)

不幸的是,Jetpack compose 尚不支持 HTML...

那么,你可以做的是:

选项 1:创建自己的 HTML 解析器

Jetpack compose 支持基本样式,例如粗体、颜色、字体等。因此您可以做的是遍历原始 HTML 文本并手动应用文本样式。

选项 2:将旧的 TextView 集成到您的 Jetpack 组合中。

请阅读:Adopting Compose in your app

谢谢。

答案 1 :(得分:0)

您可以将旧的 TextView 集成到您的 Jetpack compose 中,如下所示:

AndroidView(factory = { context ->
                    TextView(context).apply {
                        text = Html.fromHtml(your_html)
                    }
                })

更多信息:https://foso.github.io/Jetpack-Compose-Playground/viewinterop/androidview/