首页 > Android 如何实现在隐藏键盘后,让输入框保持当前高度,类似QQ、微信聊天窗口。

Android 如何实现在隐藏键盘后,让输入框保持当前高度,类似QQ、微信聊天窗口。

我的布局界面中,底部有一个EditText,EditText获取焦点时,弹出键盘,会将EditText推到键盘上面。

请问如何实现在调用了隐藏键盘的方法后,让EditText保持在键盘存在时的高度?

参考:类似QQ、微信等App的聊天界面,先点击输入框,再点击表情按钮,此时键盘消失,输入框保持在当前高度,等表情GridView计算好高度,再显示在输入框下面。


刚好之前做过这个功能,使用的方法就是 动态的切换 activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) 这两个值来完成的, 首先计算好输入法的高度,保存起来。在edittext下面有一个layout layout的高度设为输入法的高度 ,visibility是gone的;softInputMode 是 ADJUST_RESIZE,关闭输入法的时候把layout 设为可见,显示表情界面,再把softInputMode 设为SOFT_INPUT_ADJUST_PAN,下次弹出输入法就覆盖在表情区上面,切换也很顺滑,基本和微信差不多,中间有些状态切换要比较小心,大体思路就是这样子,细节的就不多说了,希望能帮到你,如果有更好的方案也麻烦和我分享一下哈


楼主解决了嘛?


这可能是我今年最精彩点赞数却没有99+的一次回答


请问下 这个问题解决了吗? 能不能讲讲思路?


看这个demo:
JKingdom/AndroidEmotionView: 仿照微信的输入框表情view(从 百姓网 android 端 剥离出来并重构)

【热门文章】
【热门文章】