如何在 Jetpack Compose 中创建编辑器?

Posted

技术标签:

【中文标题】如何在 Jetpack Compose 中创建编辑器?【英文标题】:How to create an editor in Jetpack Compose? 【发布时间】:2021-08-12 00:24:54 【问题描述】:

Jetpack compose 提供了很多 Material 组件,例如 TextField 等。但是,要构建文件编辑器之类的东西,可以使用什么样的组件来支持多行文本以及文本操作,例如选择文本、剪切复制-粘贴等。

也有兴趣了解 Jetpack compose 桌面的等效组件。

【问题讨论】:

【参考方案1】:

对于 Compose Desktop,您可以使用像 RSTextArea 这样的 Swing 组件

我写了一个blog post 来介绍如何嵌入它。

【讨论】:

【参考方案2】:

jetbrains 在 GitHub 上有一个用于编辑器的官方示例 https://github.com/JetBrains/compose-jb/tree/master/examples/codeviewer

【讨论】:

这是一个只读的 CodeViewer。他们在“文本”组件中逐行渲染文件,格式不可编辑。此外,即使我们使 Text 组件可编辑,我们也需要一个允许编辑整个文件而不是逐行编辑的编辑器。

以上是关于如何在 Jetpack Compose 中创建编辑器?的主要内容,如果未能解决你的问题,请参考以下文章

Jetpack compose 中带有提示文本的 TextField

如何在 Fragment 中使用 Compose?

Android JetPack Compose组件中Scaffold的应用

Android – 使用带有 Jetpack Compose 的 Retrofit 库进行 JSON 解析

Android – 使用带有 Jetpack Compose 的 Retrofit 库进行 JSON 解析

Android – 使用带有 Jetpack Compose 的 Retrofit 库进行 JSON 解析