Android 中软键盘弹出时底部布局上移问题

wosyingjun 4K 0

最近做一个界面时,点击底部的 EditTextView 时弹出的键盘框把 EditTextView 给挡住了,显然不符合预期。查询资料发现了有如下三种解决方案:

方法一

在项目的 AndroidManifest.xml 文件中界面对应的里加入 android:windowSoftInputMode="adjustPan" 这样键盘就会覆盖屏幕。

通过实践发现方法一并没有起作用,查询资料得知我的布局是 RelativeLayout,底部菜单用了android:layout_alignParentBottom="true",因此方法一不起作用,故采用方法二。

方法二

在代码 setContentView() 之前加入:

  1. getWindow().setSoftInputMode  
  2. (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN|  
  3. WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);  

亲测有效,另外还有一种通用的方法:

方法三

把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。

发表评论 取消回复
表情 图片 链接 代码

分享