Ral*_*kum 6 android textview androidx android-jetpack-compose android-jetpack-compose-text
我使用这个(不再那么好)示例在我的 Android Jetpack Compose Text 可组合项上启用链接化(请参阅“ClickableText 处理文本上的链接”部分)。
到目前为止,对于一种语言来说,这很容易并且很好。正如您在 AnnotatedString.Builder 中看到的:
addStyle(
style = SpanStyle(
textDecoration = TextDecoration.Underline
),
start = 8,
end = 15
)
addStringAnnotation(
tag = uriTag,
annotation = "https://developer.android.com/jetpack/compose",
start = 8,
end = 15
)
Run Code Online (Sandbox Code Playgroud)
我必须输入开始和结束索引才能通过下划线突出显示链接。想象一下我有多种字符串语言资源,我只想链接网站或网站:
"My website"
"Meine Webseite"
Run Code Online (Sandbox Code Playgroud)
上面的英文字符串的起始索引和结束索引为 4 到 10。
较低的德语字符串有 7 到 14。这对于多语言资源来说不太有用。如何在不计算索引的情况下更轻松地链接我的文本可组合项。
(请注意:我只想使用自然库 andoridx.* kotlin.*。其他 3rd 方库将被忽略)
您可以使用如下所示的偏移量。
onClick = { offset ->
annotatedText.getStringAnnotations(start = offset, end = offset)
.firstOrNull()?.let {
onLinkClick(it.item)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1360 次 |
| 最近记录: |