Markwon 在可组合文本中链接

Posted

技术标签:

【中文标题】Markwon 在可组合文本中链接【英文标题】:Markwon linkify in a composable Text 【发布时间】:2021-07-19 23:05:51 【问题描述】:

在使用 jetpack-compose 的 android 中,目前是否有一种方法可以在 @Composable Text 中显示包含链接的文本?

在旧版 TextView, 中,我们将 Markwon 与 linkify 插件一起使用。 Markwon 创建了一个 Spanned 对象,我们可以将其设置到 TextView 的文本中。

有没有办法对@Composable Text 进行相同的处理?还是我们必须使用嵌入在@Composable AndroidView 中的旧版TextView

谢谢

【问题讨论】:

***.com/questions/66130513/linkify-with-compose-text 和 ***.com/questions/65567412/… 【参考方案1】:

我认为这个库可以帮助你: https://github.com/jeziellago/compose-markdown

将存储库添加到项目的 build.gradle。

allprojects 
    repositories 
        ...
        maven  url 'https://jitpack.io'  // add this
    

然后,将依赖添加到模块的 build.gradle

implementation 'com.github.jeziellago:compose-markdown:0.2.0'

最后,您可以按如下方式使用该库:

MarkdownText(
    markdown = "Click [here](http://www.google.com) or http://www.***.com."
)

在此示例中,检测到两个链接。

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review @eldesgraciado 编辑以获得更好的答案。

以上是关于Markwon 在可组合文本中链接的主要内容,如果未能解决你的问题,请参考以下文章

如何在可组合函数回调中调用 Kotlin 协程?

如何在可组合物中使用刀柄注入单例

如何在可组合的屏幕中使用协同程序?

在可管道 rxjs 运算符的组合管道中捕获错误

Vue 3 可重用错误处理和 handleSubmit 在可重用“useForm”函数中使用组合 api

如何将组合框视为另一个表单的链接?