我希望通过.setText("")方法更改TextView视图的文本,同时着色文本的一部分(或使其为粗体,斜体,透明等),而不是其余部分.例如:
title.setText("Your big island <b>ADVENTURE!</b>";
Run Code Online (Sandbox Code Playgroud)
我知道上面的代码是不正确的,但它有助于说明我想要实现的目标.我该怎么做?
如何将超链接添加到 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
我想知道如何在 jetpack compose 中突出显示文本的特定部分。我试过Html.fromHtml()这样
Text(text = Html.fromHtml(" <font color='red'> Hello </font> World").toString())
Run Code Online (Sandbox Code Playgroud)
但这没有用。有什么办法可以在撰写中做到这一点吗?
android android-jetpack android-jetpack-compose android-jetpack-compose-text