gpt4 book ai didi

android - 如何在 jetpack 中添加 ImageSpan 撰写文本

转载 作者:行者123 更新时间:2023-12-04 23:52:03 24 4
gpt4 key购买 nike

我们知道,AnnotatedString在 JetpackCompose 中提供了一些 Android's SpannedString 的 API .
但我没有找到内联 ImageSpan 的任何方法/解决方法到文本(使用 AndroidView 除外)

最佳答案

可以使用 AnnotatedString 将图像放入文本中和 inlineContent Text的参数可组合。

  • 内部 buildAnnotatedString { ... }我们需要定义一些 编号 对于我们的内联内容,使用 appendInlineContent(id = ...)
  • 然后在 Text可组合在 inlineContent参数我们提供与此匹配的 map 编号 InlineTextContent()目的。

  • 只要您可以在 Placeholder 中预先定义其大小,您基本上可以将任何内容放在那里。 .
    这是 Image 的样子放在正文中间:
    enter image description here
    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)

    关于android - 如何在 jetpack 中添加 ImageSpan 撰写文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70067723/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com