当 ime 出现时,如何保持滚动的底部项目可见?

问题描述 投票:0回答:1

|-|我

我正在尝试使一列能够在显示 ime 时保持底部项目可见

我在屏幕底部有一个文本字段,上面是列,填充随机文本以使其滚动。

我尝试了一点

Modifier.imeNestedScroll()
,但我很挣扎,我什至不确定它是否能完成工作

这是我当前的代码,但它有点错误......

ComposeTestTheme {
    Scaffold(modifier = Modifier.fillMaxSize())
    { innerPadding ->
        Column(
            modifier = Modifier
                .padding(innerPadding)
                .consumeWindowInsets(innerPadding)
                .fillMaxSize()
        )
        {
            LazyColumn(
                modifier = Modifier
                    .weight(1f)
                    .fillMaxWidth()
                    .border(2.dp, Color.Red)
                    .imeNestedScroll()
            )
            {
                items(50) { index ->
                    Text(text = "item: $index")
                }
            }
            TextField(
                value = "",
                onValueChange = {},
                modifier = Modifier
                    .fillMaxWidth()
                    .border(2.dp, Color.Black)
                    .imePadding()
            )
        }
    }
}

有人可以帮忙吗?

android-jetpack-compose
1个回答
0
投票

这样做:

Scaffold(modifier = Modifier.fillMaxSize())
{ innerPadding ->
    Column(
        modifier = Modifier
            .padding(innerPadding)
            .consumeWindowInsets(innerPadding)
            .fillMaxSize()
    )
    {
        val list = remember { (1..130).map{ it.toString() }.toList() }
        LazyColumn(
            reverseLayout = true,
            modifier = Modifier
                .fillMaxWidth()
                .weight(1f)
                .fillMaxHeight(0.9f)
                .border(2.dp, Color.Red)
        )
        {
            items(list.size) { message ->
                Text(text = message.toString())
            }
        }

        TextField(
            value = "",
            onValueChange = { },
            modifier = Modifier
                .imePadding()
                .fillMaxWidth()
                .border(2.dp, Color.Black)
        )
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.