小编Dis*_*ion的帖子

在 Android Compose 中,如何使按钮与屏幕底部对齐,但仍保留在可滚动内容的底部?

我的内容位于可滚动的列中。如果没有足够的内容可以滚动,我想在屏幕底部放置一些按钮,同时位于可滚动内容的底部。我一直在尝试垫片和重物,但似乎没有任何效果。

这是我的测试代码。

@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)

这里有一些示例图像,显示了代码的行为方式。在第一张图片中,红色轮廓是我想要发生的情况。如果没有足够的内容可供滚动,按钮应粘在屏幕底部。第二张图片显示,如果用户一直滚动到底部,按钮是可见的。 在此输入图像描述

编辑:为了清楚起见,这是第三张图像,显示按钮在用户一直滚动到底部之前不可见。

在此输入图像描述

第二张和第三张图片是代码的正确且当前的行为。只有第一张图片包含我想要发生的事情。 …

user-interface android android-jetpack-compose

5
推荐指数
1
解决办法
3710
查看次数

Pair 的 kotlin 列表转换为 Pair.first 的列表

我正在尝试习惯 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)

list kotlin

3
推荐指数
1
解决办法
7130
查看次数