Android Compose - 平板电脑上的应用程序在使用 LazyColumn 时崩溃
Posted
技术标签:
【中文标题】Android Compose - 平板电脑上的应用程序在使用 LazyColumn 时崩溃【英文标题】:Android Compose - application on tablets crashes when using a LazyColumn 【发布时间】:2021-06-13 21:27:37 【问题描述】:java.lang.IllegalStateException:不允许在相同方向的布局中嵌套可滚动,如 ScrollableContainer 和 LazyColumn。如果您想在项目列表之前添加标题,请查看 LazyColumn 组件,该组件具有 DSL api,允许首先通过 item() 函数添加标题,然后通过 items() 添加项目列表。
在尝试使用 LazyColumn 时,此错误总是出现在平板电脑上。 LazyColumn 在手机上正常工作。即使 setContent 中的 Composable 函数仅包含 LazyColumn,也会出现错误。
Studio 构建:android Studio 4.2 beta 6 / Canary 10 Gradle 插件版本:4.2.0-beta06 / 7.0.0-alpha10 Gradle 版本:6.8.3 / 6.8.2 Compose 版本:1.0.0-beta02(1.0.0-beta01 有同样的问题)
【问题讨论】:
能否提供代码。 检查您没有使用可滚动组件(即使用verticalScroller
修饰符或类似的)作为LazyColumn
的父级
@kugemi 你得到这个答案了吗?
【参考方案1】:
我遇到了同样的问题,@MR3YY 的评论解决了我的问题。我有一个lazyColumn:
LazyColumn(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())
)
items(myDs) dev ->
deviceView(device = dev)
并删除verticalScroll(rememberScrollState()) 修复了错误。
LazyColumn(
modifier = Modifier
.fillMaxSize()
)
items(myDs) dev ->
deviceView(device = dev)
【讨论】:
verticalScroll 是怎么回事?我有同样奇怪的问题以上是关于Android Compose - 平板电脑上的应用程序在使用 LazyColumn 时崩溃的主要内容,如果未能解决你的问题,请参考以下文章
[Docker Compose定义运行多个Docker容器]
Jetpack compose 上的 AdjustResize 不起作用