问题标签 [jetbrains-compose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
72 浏览

kotlin - Divider 可组合在放置在带有 Horizo​​ntalScroll 修饰符集的可组合内时变得不可见。这是一个错误吗?

背景

我正在制作一个桌面撰写应用程序。

我有一个分开的项目LazyColumn。的宽度可能不适合窗口,所以我通过将其封闭在with修饰符集内来实现水平滚动。DividerLazyColumnLazyColumnBoxhorizontalScroll()

现在LazyColumn也可以水平滚动了。但奇怪的Divider是,分隔项目的 ' 消失了。

在深入研究了一段时间后,我发现它Divider只有在放置在水平滚动的父级中时才变得不可见。


最小复制

这是观察到的行为的最小再现,其中当修饰符设置为封闭时,红色Divider明显不可见horizontalScroll(rememberScrollState())Box

水平滚动,分隔线是看不见的!

可以看出,红色对于上面的代码Divider不可见的。


预期输出:

verticalScroll()或没有滚动修饰符都可以按预期工作。

正如预期的那样,分隔线是可见的

Divider按预期正确输出,上面的代码清晰可见红色。


版本信息


我想知道这是否是一个错误?或者有没有办法解决这个问题。

0 投票
0 回答
87 浏览

kotlin - Jetbrains Compose 的 Kotlin 内部错误 java.lang.IllegalStateException

嗨,我是 kotlin 的新手,正在尝试启动和运行 Jetpack compose 桌面计算器应用程序。我编写了一些 JUnit 测试并尝试运行它们,但我遇到了一个内部错误。这是 IntelliJ 输出:

我花了几个小时试图在我的build.gradle.kts文件中获取正确的依赖项。现在我有:

另一篇文章建议使用 Compose 版本 1.0.0-beta08,我尝试并得到了:

没有进一步的信息。1.0.0-alpha3 是唯一成功构建的版本。如果您对此有任何想法,请告诉我,否则我可以在新问题中提出。

我正在运行 Kotlin 1.5.21,Jetbrains Compose 版本 1.0.0-alpha3,并且我将 maven 存储库设置为“https://maven.pkg.jetbrains.space/public/p/compose/dev”,如建议几个论坛。如果您有任何我可以查看的资源,或者知道修复方法,我觉得我已经用尽了我的选择——请给我留言,谢谢。

0 投票
0 回答
162 浏览

android - Kotlin Multiplatform(Android,桌面)中的 GRPC

我正在创建一个 Jetbrains Compose Multiplatform 项目。但我只需要桌面 (JVM) 和 Android,因此需要两个 JVM 目标。我想分解出需要 grpc 的逻辑,因此 Android 和 Desktop 都可以使用它,而无需我对其进行两次编程。

我似乎无法找到将我的 grpc/proto 绑定到项目中的方法,这样我就可以编写一次逻辑并在 android 和桌面之间共享它。这是我的通用项目的 build.gradle.kts 的样子:

我尝试将我的原型绑定到源集中,但无法使其正常工作。


我的另一种方法:接下来,我尝试创建第二个子模块,其中将绑定原型和逻辑,但我也无法使其正常工作:这是共享逻辑的 build.gradle.kts:

这是 kotlin-common 的 build.gradle.kts:

在这里,我得到了我尝试修复但无法弄清楚要排除什么的分辨率错误:

0 投票
2 回答
205 浏览

kotlin - 撰写:remember() with keys vs. derivedStateOf()

这两种方法有什么区别?

  1. val result = remember(key1, key2) { computeIt(key1, key2) }文档
  2. val result by remember { derivedStateOf { computeIt(key1, key2) } }文档

key1如果两者都没有key2改变,则两者避免重新计算。如果下游状态是派生的,第二个也避免重新计算,但是,它们的行为是相同的,不是吗?

0 投票
0 回答
41 浏览

java - Kotlinskiko 在启动应用程序时抛出 ClassNotFoundException

我使用 IntelliJ IDEA 创建了一个新的 kotlin/JVM 项目,其中build.gradle.kts

我已经复制了自述文件中的示例

但是,在我运行 main 函数后,我得到了这个:

在我添加implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0-RC")到我的dependencies块之后build.gradle.kts,它仍然不起作用:

项目JDK:JDK 11.0.12 x86

我该如何解决。

如果您能提供帮助,非常感谢!:)

0 投票
1 回答
206 浏览

kotlin - 在 Kotlin Compose for Web 中使用 Web 组件库

我想稍微修改一下 Kotlin Compose for Web。在我过去的一些 Web 项目中,我使用了Clarity Design System (CDS)的一些 Web 组件。

在 JavaScript 或 TypeScript 项目中,您首先需要安装 npm 包@cds/core@cds/city. 其次,您必须包含一些全局样式表,例如通过 HTML 或 sass-import。对于您要使用的每个组件,您需要导入相应的register.js. 最后,您可以像任何其他标记一样在 HTML 中包含该组件:

我尝试使用 Kotlin Compose for Web 复制这些步骤,但无法使其正常工作。任何帮助表示赞赏!

0 投票
0 回答
62 浏览

kotlin - 如何在 Kotlin Compose 中启用多个 BasicTextField 之间的选择

正如您在此处看到的,有一个可组合的函数可用作文本函数的包装器:

但是,它不适用于 BasicTextField。

有关更多上下文,我正在尝试使CodeViewer可编辑,并且我不想像在记事本中那样使用单个 BasicTextField 以实现“简单性”。

我正在考虑SelectionContainer为我的用例实现类似的东西,但我不确定这是否可能,甚至是一个好主意。

有什么想法吗?

0 投票
2 回答
121 浏览

kotlin - Jetpack Compose mutableStateList 与 mutableList 性能

与普通变量 mutableList、mutableMap 相比,mutableState、mutableStateList、mutableStateMap 的表现如何?如果有观察者在听,它们当然会更慢(因为触发了重组),但是如果根本没有观察者,它们之间有区别吗?

提前致谢。

0 投票
0 回答
43 浏览

kotlin - 在 kotlin compose 桌面中通过打印机打印值

我有一个从用户那里获取价值的撰写桌面应用程序。
我想将值保存到包含表、列和行的文件(如 html、pdf、...)中,并将此文件发送到打印机。
或发送值而不保存它们,只需将表、行和列(格式化值)发送到打印机。
如果打印文件更好,最好的文件格式是什么,我该怎么办?
否则如何打印而不保存到文件?
谢谢

0 投票
1 回答
502 浏览

kotlin - Compose - 为什么 API 的跨平台不一致?

我一直在使用 Android 上的 Jetpack Compose,并且玩得很开心!然后我决定尝试 compose for desktop,我也非常喜欢!

好吧,我需要尝试 compose for web,我期待找到相同的 API,但实际上我发现我有用于 web 元素的 DSL 包装器。

虽然我完全理解需要特定于目标的 DSL,但我不明白我们缺少基本的小部件,如、Row等。ColumnBox

这是为什么?