显示键盘时如何调整布局?

Raf*_*ima 2 android android-keypad android-layout android-screen-support

我想“指导”android 如何在用户执行弹出键盘的操作时正确调整屏幕布局。

实际上,当显示键盘时,android simple 会将其绘制在屏幕最底部的项目上。尽管这是一种简单且有时正确的方法

在某些情况下,它变得非常糟糕。例如,如果输入的输入文本是屏幕最底部的项目……键盘将简单地覆盖它,用户将丢失有关他正在输入的内容的信息。

另一种情况是当键盘仅部分覆盖某些项目时,然后 android 会进入屏幕变得不稳定的疯狂状态

在此处输入图片说明

图像没有显示,但是当键盘弹出时,这两个部分覆盖的按钮像疯了一样闪烁

那么问题又来了……我怎么能告诉 android 它可以缩小哪些布局项目,或者简单地从屏幕上删除,以创造空间来显示键盘?

================更新==============

我认为整个键盘布局情况有 2 种可能的“最佳方案”:
1- 我想向用户显示的信息在屏幕顶部,所以我希望键盘覆盖底部
2- 我想显示的信息在底部,所以我希望键盘“推动”屏幕向上,以便用户可以像下一张照片一样看到底部的内容

在此处输入图片说明

理想的解决方案不是“应用程序范围”配置,因为应该逐个布局选择行为

Mar*_*los 5

android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)

并在您的屏幕上将根设置为 ScrollView android:fitSystemView="true"

还将您的按钮从edittext 设置为focusable 并将focusableInTouchMode 设置为true。