我的内容位于可滚动的列中。如果没有足够的内容可以滚动,我想在屏幕底部放置一些按钮,同时位于可滚动内容的底部。我一直在尝试垫片和重物,但似乎没有任何效果。
这是我的测试代码。
@Composable
fun TestScrollableContentWithButton() {
var numItems by remember { mutableStateOf(20) }
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
ScrollableContent(numItems = numItems)
Row(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = 20.dp),
horizontalArrangement = Arrangement.SpaceEvenly
) {
Button(onClick = { numItems++ }) { Text("Add Item") }
Button(onClick = { numItems = 0 }) { Text("Clear Items") }
}
}
}
@Composable
fun ScrollableContent(modifier: Modifier = Modifier, numItems: Int) {
repeat(numItems) {
Text(modifier = Modifier.padding(20.dp), text = "Test Text $it")
}
}
Run Code Online (Sandbox Code Playgroud)
这里有一些示例图像,显示了代码的行为方式。在第一张图片中,红色轮廓是我想要发生的情况。如果没有足够的内容可供滚动,按钮应粘在屏幕底部。第二张图片显示,如果用户一直滚动到底部,按钮是可见的。

编辑:为了清楚起见,这是第三张图像,显示按钮在用户一直滚动到底部之前不可见。
第二张和第三张图片是代码的正确且当前的行为。只有第一张图片包含我想要发生的事情。 …
我正在尝试习惯 Kotlin 中的习语和快捷方式,我想知道是否有任何方法可以做到这一点。
val pairList = listOf(Pair(1, 2), Pair(5, 10), Pair(12, 15))
val firstList = // should be [1, 5, 12]
Run Code Online (Sandbox Code Playgroud)
或者一般来说,任何具有任何成员变量的类。我目前有:
val pairList = listOf(Pair(1, 2), Pair(5, 10), Pair(12, 15))
val firstList = ArrayList<Int>()
pairList.forEach { firstList.add(it.first) }
Run Code Online (Sandbox Code Playgroud)