繁体   English   中英

Jetpack Compose 中 ReplacementSpan 的替代方案?

[英]Alternatives to ReplacementSpan in Jetpack Compose?

我知道这个问题很模糊,可能没有一个正确的答案。 我只是想听到一些输入并围绕 Compose 中的高级文本样式创建一些内容。 我希望一切顺利。

有谁知道是否有办法在撰写中使用跨度? 我使用 Views 系统构建了一个自定义MultiAutocompleteTextView ,该系统使用ChipSpan(...): ImageSpan(...)创建芯片。

它看起来像这样:

在此处输入图片说明

你会如何在 Compose 中处理这个问题? 任何输入将不胜感激! 谢谢你。

InlineTextContent可能正是您要找的。 它使用AnnotatedString和占位符,并允许您在文本中插入 Composables:

val text = buildAnnotatedString {
    appendInlineContent("chip1", "Acid")
}

val inlineContent = mapOf(
  "chip1" to InlineTextContent(
    Placeholder(
        width = 1.em, // calculate text width
        height = 1.em, // calculate text height
        placeholderVerticalAlign = PlaceholderVerticalAlign.AboveBaseline
    )
  ) {
     // call chip composable
  }
)

BasicText(text = text, inlineContent = inlineContent)

如果您希望与 Text 一起使用,InlineTextContent 可能会很有用。 但是在 Textfield 的情况下,似乎还没有实现。 查看在问题跟踪器中提交的以下功能请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM