速度太慢了,几乎无法使用。除非
outerLists
大小约为 2,否则发布版本不会有太大区别
尝试过:我的搜索没有产生任何我能理解的内容。我尝试寻找重组问题,但似乎无法在
LazyColumn
块内找到任何内容。
预期:像其他应用程序一样正常的垂直滚动,或者应该与此应用程序的水平滚动感觉相同。
// Use mutableStateListOf
var data = mutableStateListOf<List<CellData>>().apply {
// Initialize with some sample data (20 rows, 10 columns)
addAll(
List(100) { outerIndex ->
List(100) { innerIndex ->
val value = "Value ${outerIndex \* 10 + innerIndex + 1}"
CellData(value)
}
}
)
}
fun Grid(data: List<List<CellData>>) {
LazyColumn(
modifier = Modifier.fillMaxSize()
//.horizontalScroll(rememberScrollState())
) {
itemsIndexed(data) { Outerindex:Int, row ->
Row(
modifier = Modifier.fillMaxWidth()
) {
row.forEachIndexed {Innerindex: Int, cell ->
ExcelCell(cell, Outerindex, Innerindex )
}
}
Spacer(modifier = Modifier.height(8.dp))
}
}
}
我观察到,如果我禁用 HorizontalScrolling,verticalScrolling 会改善很多,变得有些可用,但在这种情况下,可以看到这个奇怪的事情 - 即将进入视口的新元素行被击中屏幕底部,滚动速度变得不均匀,然后再次恢复正常滚动速度,直到另一行新元素即将进入视口。
或者用另一个术语来描述它,在新的一行元素进入屏幕之前,感觉就像在进入屏幕之前的这行元素发生了一些事情,从而导致了轻微的延迟,因此由于这种突然的情况,滚动速度降低得太快,并且出现“颠簸/撞击”的视觉和感觉。
我相信,如果你让你的游戏没有任何滚动,并让你的游戏成为 3 人游戏,玩家必须点击一些东西才能与他们互动,当这确实让游戏对环境产生新的危害时。这是我认为你可以做的。如果你有任何想法请告诉我。