我找不到如何链接我Text()使用的 Jetpack Compose。
在撰写之前我要做的就是:
Linkify.addLinks(myTextView, Linkify.EMAIL_ADDRESSES or Linkify.WEB_URLS)
显然,我的 TextView 中包含的所有链接都变成了可点击的链接。
重要提示:文本内容来自 API,链接没有固定位置,内容可能包含多个链接。
我想通过使用 Jetpack Compose 来保持这种行为,但我找不到任何有关这样做的信息。
有人知道吗?
android kotlin android-jetpack androidx android-jetpack-compose
如何将超链接添加到 Text 组件文本的某些部分?
随着buildAnnotatedString我可以设置链接部分蓝色并带有下划线,如下面的图像,但我怎么也可以把这一节变成链接?
val annotatedLinkString = buildAnnotatedString {
val str = "Click this link to go to web site"
val startIndex = str.indexOf("link")
val endIndex = startIndex + 4
append(str)
addStyle(
style = SpanStyle(
color = Color(0xff64B5F6),
textDecoration = TextDecoration.Underline
), start = startIndex, end = endIndex
)
}
Text(
modifier = modifier
.padding(16.dp)
.fillMaxWidth(),
text = annotatedLinkString
)
Run Code Online (Sandbox Code Playgroud)
我也可以,Spanned但有什么方法可以使用它Text吗?
val str: Spanned = HtmlCompat.fromHtml(
"<a href=\"http://www.github.com\">Github</a>", HtmlCompat.FROM_HTML_MODE_LEGACY
)
Run Code Online (Sandbox Code Playgroud) android android-jetpack-compose android-jetpack-compose-text