Ole*_*pez 6 android viewmodel android-softkeyboard kotlin android-jetpack-compose
如上所示,当用户打开键盘时,项目列表、文本输入字段和添加按钮会升起,我希望项目列表保持在原位,而文本输入字段和添加按钮也会升起。
代码:
活动:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
OlegarioLopezTheme {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colors.background
) { Navigation() }
}
}
}
Run Code Online (Sandbox Code Playgroud)
Navigation() 函数只调用 Composable
可组合:
@Composable
fun ListScreen(
viewModel: MainScreenViewModel,
navController: NavController
) {
LazyColumn{...}
MainTextField(viewModel)
AddButton(viewModel)
}
Run Code Online (Sandbox Code Playgroud)
Gab*_*tti 11
确保活动windowSoftInputMode设置为adjustResize:
<activity
android:name=".MyActivity"
android:windowSoftInputMode="adjustResize">
</activity>
Run Code Online (Sandbox Code Playgroud)
通过这种方式,活动的主窗口总是会调整大小,以便为屏幕上的软键盘腾出空间。
然后只需使用布局:
Column() {
LazyColumn(Modifier.weight(1f)) {
//..
}
Row(){
TextField()
Button()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3776 次 |
| 最近记录: |