相关疑难解决方法(0)

软件键盘与 jetpack 组合视图的内容重叠

假设我有一些关于 jetpack-compose 内容的活动

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            ScrollableColumn(
                modifier = Modifier
                    .fillMaxSize()
                    .border(4.dp, Color.Red)
            ) {
                val (text, setText) = remember { mutableStateOf("") }

                TextField(
                    value = text,
                    onValueChange = setText,
                    label = {},
                    modifier = Modifier
                        .fillMaxWidth()
                )

                for (i in 0..100) {
                    Text("Item #$i")
                }
            }
        }
    }

}

Run Code Online (Sandbox Code Playgroud)

如果我要启动此活动并专注于 TextField,则会弹出一个软件键盘。

但是,界面不会对此做出反应。ScrollableColumn 的底部边框 ( .border(4.dp, Color.Red)) 以及第 100 项 ( Text("Item #$i"))将不可见。

换言之,软键盘与内容重叠。

我怎样才能让喷气背包 compose 尊重可见区域的变化(由于软件键盘)?

android android-layout android-jetpack-compose

8
推荐指数
4
解决办法
2790
查看次数