背景
我正在制作一个桌面撰写应用程序。
我有一个分开的项目LazyColumn
。的宽度可能不适合窗口,所以我通过将其封闭在with修饰符集内来实现水平滚动。Divider
LazyColumn
LazyColumn
Box
horizontalScroll()
现在LazyColumn
也可以水平滚动了。但奇怪的Divider
是,分隔项目的 ' 消失了。
在深入研究了一段时间后,我发现它Divider
只有在放置在水平滚动的父级中时才变得不可见。
最小复制
这是观察到的行为的最小再现,其中当修饰符设置为封闭时,红色Divider
明显不可见。horizontalScroll(rememberScrollState())
Box
fun main() = application {
Window(onCloseRequest = ::exitApplication) {
Box(
Modifier.fillMaxSize()
.background(Color.Green)
.horizontalScroll(rememberScrollState())
) {
Divider(thickness = 10.dp, color = Color.Red)
}
}
}
可以看出,红色对于上面的代码Divider
是不可见的。
预期输出:
有verticalScroll()
或没有滚动修饰符都可以按预期工作。
fun main() = application {
Window(onCloseRequest = ::exitApplication) {
Box(
Modifier.fillMaxSize()
.background(Color.Green)
.verticalScroll(rememberScrollState())
) {
Divider(thickness = 10.dp, color = Color.Red)
}
}
}
Divider
按预期正确输出,上面的代码清晰可见红色。
版本信息
kotlin("jvm") version "1.5.21"
id("org.jetbrains.compose") version "1.0.0-alpha3"
我想知道这是否是一个错误?或者有没有办法解决这个问题。