废话不多说上图
这是页面,业务上希望当用户选择 预售价格(此时会弹出输入软键盘),键盘遮盖住“保存并下一步”按钮
如图:
OK,就是这个效果,光标定位到当前的输入框。
现有问题:
1.android:windowSoftInputMode属性其中有对软键盘进行控制的关键有2个属性
分别是:
"adjustResize"
Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间
"adjustPan"
Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。
以上2个属性设置后,均无法满足,业务需求。 adjustResize属性会导致整个布局文件往上走,会看到 1,2,3 那个被遮盖了一部分,需求是那作为导航按钮摆放的,必然不允许动,adjustPan 属性无法满足,会导致下面的按钮往上顶,在输入法的上面。
实现思路:
1. 这两个属性不能用,干脆抛弃。
2. 我的这个页面父布局是RelativeLayout,让“保存并下一步”这个Layout在代码里动态的设置MarginTop的值,让其能在布局的最底部1. 为啥用MarginTop而不用属性android:layout_alignParentBottom="true" ? 因为设置该属性 就又被顶上来 2. 为啥动态设置,为了适配多分辨。
OK,这么设置就看结果吧。哈哈。完全没问题喽