android 键盘遮盖输入框_android弹出输入框,软键盘挡住部分编辑框

本文探讨在Android应用中,当EditText获得焦点并弹出键盘时,如何实现像微信那样自动上推ListView或RecyclerView,同时讨论了不同解决方案的优缺点,包括设置android:windowSoftInputMode和调整布局参数等。
摘要由CSDN通过智能技术生成

公司要做一款类似微信的即时通讯app 现有如下需求:

当edittext获取到焦点,弹出输入框,并且将listview(recyclerview)顶上去 类似微信QQ的效果,如下图所示

editText获取焦点后

我试了如下几种方法

配置当前的Activity android:windowSoftInputMode="stateAlwaysHidden|adjustResize"

缺点:listview(recyclerview)不会被顶上去

在1的基础上,当软键盘弹出的时候 发送延迟消息把 recyclerView 滚动到底部

mHandler.postDelay()

layoutManager.setStackFromEnd(true); // 滚动到底部

缺点: 有时候滚不到底部 没效果

配置当前的Activity android:windowSoftInputMode="stateAlwaysHidden|adjustPan"

缺点: 底部输入栏部分被挡住 软键盘会顶到光标的高度 如图

在3的基础上 修改editText的属性, 去掉所有margin值 增加paddingbottom

基本可行..底部栏还是有部分会被挡住

缺点: editText 太高了 与设计稿要求高度不符合

各位乡亲父老 即时通讯这块应该很多人做过吧...求指点啊啊啊

最后贴一下布局文件

android:id="@+id/fl_container"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/rl_content"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/fragment_chat_srl_pullrefresh"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_above="@+id/fragment_chat_inputbottombar">

android:id="@+id/fragment_chat_rv_chat"

android:layout_width="match_parent"

android:layout_height="match_parent" />

android:id="@+id/fragment_chat_inputbottombar"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值