我需要创建一个逆序的列,这意味着给定的项目
Column { A B C }
它提供:
C B A
我看到LazyColumn可以通过reverseLayout参数来实现这一点,但是我找不到常规Column的任何内容。有人知道如何实现这一点吗?我宁愿不必创建自定义布局。我这样做的原因是我正在创建一个通用的模态组件,其中页脚按钮切换到一个小宽度的垂直列。根据我们的设计系统,积极的动作应该在列的顶部。通常,这是源代码顺序中的最后一项,因此我需要颠倒列表。
LazyColumn
reverseLayout
Column
dtcbnfnu1#
由于您使用的是列,因此可以简单地反转支持结构
val items = listOf("Apple", "Banana", "Cherry", "Dogs", "Eggs", "Fruits") // or // val items = remember { mutableStateListOf("Apple", "Banana", "Cherry", "Dogs", "Eggs", "Fruits") } ReversedColumn(items = items.reversed()) // reversed
样本可组成
@Composable fun ReversedColumn(items: List<String>) { Column( modifier = Modifier.verticalScroll(rememberScrollState()) ) { items.forEach { Box(modifier = Modifier .height(80.dp) .fillMaxWidth() .border(BorderStroke(Dp.Hairline, Color.Gray)), contentAlignment = Alignment.Center ) { Text( text = it ) } } } }
zzlelutf2#
为什么不在传递给Column显示之前反转列表呢?根据Kotlin文档,可以这样做:
fun main() { val list = (1..5).toList() val reverse: List<Int> = list.reversed(); println(reverse) }
我知道你的问题是问别的,但我想这可能是有帮助的。
2条答案
按热度按时间dtcbnfnu1#
由于您使用的是列,因此可以简单地反转支持结构
样本可组成
zzlelutf2#
为什么不在传递给Column显示之前反转列表呢?根据Kotlin文档,可以这样做:
我知道你的问题是问别的,但我想这可能是有帮助的。