Android中软键盘弹出时底部布局上移问题
16lz
2022-05-02
参考链接1
参考链接2
在Android开发过程中会经常遇到的scrollview包含的布局中,当点击edittext时,弹出的软键盘经常会使在布局底部的控件顶起,此时的解决方案如下:
清单文件中将activity的类型修改为
android:windowSoftInputMode="adjustPan|stateHidden
最近做聊天界面时,点击底部的EditTextView时弹出的键盘框把EditTextView给挡住了,显然不符合预期。查询资料发现了有如下三种解决方案:
方法一:
在项目的AndroidManifest.xml文件中界面对应的里加入
android:windowSoftInputMode="adjustPan"
这样键盘就会覆盖屏幕。
通过实践发现方法一并没有起作用,查询资料得知我的布局是RelativeLayout,底部菜单用了android:layout_alignParentBottom="true"
,
因此方法一不起作用,
故采用方法二。
方法二:
在代码setContentView()之前加入:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
亲测有效,另外还有一种通用的方法:
方法三:
把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。
更多相关文章
- Android(安卓)Intent调用方法总结
- Android中经常用到的方法--SDcard下文件的操作
- android之Fragment(官网资料翻译)
- Android中解析XML
- Android中解析XML
- android zxing 4.7.1横屏改竖屏 screenOrientation landscape to
- Android(安卓)Touch事件分发响应机制
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用