一、说明
笔记主要是记录一些本人在开发当中的学习和使用笔记。笔记内容包含一些本人觉得重要的知识点、本人易犯的错误等。
由于本人水平有限,其中出现的错误或者不合理的地方望各位读者多多包含,并指出其中不合理和错误的地方,以便我来修改正。谢谢!
二、笔记时间
2019年08月14日
三、简述
本文主要记录如何让PopupWindow被顶到软键盘上面。
四、详情
在我开发当中,有遇到popupWindow中有EditText的场景,这种场景原本是优化操作,提升用户体验的。但是在实际使用中却出现了一个非常不友好的问题,就是当软键盘弹出时,要么popupWindow和里面的内容在原位置一动不动;要么在只有popupWindow里面的页面被挤上去,而popupWindow还是一动不动。
很明显这两种效果对于我们的理想情况相差太远,我们要的是当软键盘弹出时,我们的popupWindow整体处于软件什么,这样既不影响输入也能实时查看到输入的情况。下面是我对于该效果的实现:
//解决popupWindow 不随输入法顶上去
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); //BasePopupWindow中设置
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); //给已创建的popupWindow设置
其实我们只需要给popupWindow 设置该参数就行了,如果popupWindow已经创建那么我们就。当然我也试过在manifest里面设置该参数,但是没有效果,也许是要在style里面设置,不过既然找到的可行的方法,我就没有在尝试了。
欢迎感兴趣的朋友尝试在syle里面设置,把测试效果反馈给我和阅读到该文的小伙伴。非常感谢,举起双手拜倒在伟人脚下!!!
网友评论