`

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

阅读更多

最近做聊天界面时,点击底部的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的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。

3
2
分享到:
评论
1 楼 CSUjavaGzy 2016-01-20  
写的不错,问题顺利解决了!

相关推荐

    Android解决软键盘弹起时遮住登录按钮的问题

    通过以上步骤,我们便成功解决了Android应用中软键盘弹出遮挡登录按钮的问题,实现了点击空白区域收起软键盘的效果,以及11位手机号的格式化显示。这些优化可以显著提升用户在使用登录界面时的体验。

    解决Android软键盘弹出覆盖h5页面输入框问题

    知识点四:h5页面中软键盘弹出问题的解决方案 在h5页面中,软键盘弹出问题可以通过多种方法解决,以下是一些常见的解决方案: 1. 使用meta viewport标签,设置 initial-scale 和 maximum-scale 属性,以限制软键盘...

    监听软键盘弹出改变布局demo

    例如,如果软键盘弹出,可以将底部布局设置为滑动或者悬浮在屏幕顶部,确保其始终可见。 4. **使用FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES**:这是Android的一个窗口标志,可以在软键盘弹出时保持布局不被挤压。然而...

    解决安卓嵌套H5软键盘遮挡问题以及导航栏遮挡问题

    在移动应用开发过程中,尤其是在处理H5页面时,经常会遇到一个让人头疼的问题:软键盘弹出后遮挡了输入框或者页面被华为、小米等手机底部的导航栏遮挡。这个问题对于用户体验的影响非常大,因此寻找一个合适的解决...

    android 调用软键盘

    软键盘弹出时,底部的布局可能会被遮挡,这时可以使用ScrollView或NestedScrollView作为根布局,以实现内容滚动。同时,合理设置EditText的`android:imeOptions`和`android:inputType`属性,能优化输入体验,比如...

    android解决软件盘遮挡问题

    如`android-floating-action-button`库提供了一种方法,当键盘弹出时,可以使FloatingActionButton自动上移,避免被键盘遮挡。 6. **使用Fragment**: 将登录界面放在Fragment中,可以更方便地控制键盘弹出时的...

    安卓键盘输入相关-软键盘和其他布局完美切换.rar

    - 当软键盘弹出时,底部的按钮或内容可能会被遮挡,这时可以通过设置布局属性`android:fitsSystemWindows="true"`或使用`android:windowTranslucentStatus`来防止这种情况。 7. **ScrollView与软键盘** - 在...

    Android SoftKeyboard Listener Demo

    1. 自适应布局:当软键盘弹出时,调整底部按钮的位置,避免被键盘遮挡。 2. 滚动优化:在聊天应用中,当键盘弹出时,自动滚动内容以保持输入框可见。 3. 输入验证:检测到键盘关闭后,立即对用户输入进行验证。 总...

    详解Android中获取软键盘状态和软键盘高度

    为提升用户体验,开发者可能会选择在软键盘弹出时将底部的UI元素移动到软键盘上方,确保它们仍然可触达。 **API困境** `InputMethodManager`的`isActive()`方法并不完全可靠,它只能确定软键盘是否可能被激活,但...

    SoftKeyboardListenDemo.zip_android开发_Java_

    标题中的"SoftKeyboardListenDemo.zip"是一个示例项目,它专注于解决键盘弹出时与应用其他元素交互的问题,特别是当键盘遮挡到其他控件时。这个项目使用Java编程语言实现,因此对Android开发者来说,理解和应用这个...

    键盘(Keyboard)

    5. **布局管理**:在Android中,当软键盘弹出时,布局管理器(如LinearLayout, ConstraintLayout等)需要调整以适应屏幕空间的变化。 6. **开源文化**:AndroidKeyboardWatcher作为开源库,体现了开源社区对共享和...

Global site tag (gtag.js) - Google Analytics