bei*_*rad 11 android spannablestring spannable android-jetpack-compose android-jetpack-compose-text
我们知道, JetpackCompose 中的AnnotatedString提供了Android 的 SpannedString的一些 API 。
但我没有找到任何方法/解决方法将ImageSpan内联到文本(使用 AndroidView 除外)
Mac*_*ęga 41
将图像放入文本中可以使用 Composable的参数AnnotatedString来完成。inlineContentText
buildAnnotatedString { ... }我们需要使用以下命令为内联内容定义一些idappendInlineContent(id = ...)TextComposable in参数中,我们提供一个将此id与对象inlineContent匹配的映射。InlineTextContent()基本上,您可以将任何内容放在那里,只要您可以在 中预先定义其大小即可Placeholder。
val annotatedString = buildAnnotatedString {
append("This is text ")
appendInlineContent(id = "imageId")
append(" with a call icon")
}
val inlineContentMap = mapOf(
"imageId" to InlineTextContent(
Placeholder(20.sp, 20.sp, PlaceholderVerticalAlign.TextCenter)
) {
Image(
imageVector = Icons.Default.Call,
modifier = Modifier.fillMaxSize(),
contentDescription = ""
)
}
)
Text(annotatedString, inlineContent = inlineContentMap)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8912 次 |
| 最近记录: |