网上查了很多资料,见过最多的两句代码就是:
pop.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); pop.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
代码写上了,可是没用啊!相信大部分人跟我现在的情况一样
后来想想前辈们的实战经验应该不会错,肯定是自己哪里出了问题,捣鼓半天后,还真被我找出来了
为了避免更多的人像我一样在这里浪费时间,特意注册了账号把经验分享出来
其中的关键地方的就是Pop所在的Activity中,不能将Activity软键盘的输入方式设置为SOFT_INPUT_ADJUST_RESIZE
个人理解是如果Activity设置该模式后软键盘弹出就会把Activity的布局往上顶,而不是Pop
检查下AndroidManifest和Activity代码中是否有如下设置:
清单文件:
<activity android:name=".PopActivity" android:theme="@style/NostatusAppTheme" android:windowSoftInputMode="adjustResize|stateHidden"/>Activity:setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
如果有,把这个设置去掉,再加上最上面那两句关键代码就可以了,对比图![]()
![]()
图一 图二 图三
图一弹出Popwindow图二打开输入法Pop被挡住图三打开输入法将Pop顶上去参考资料:http://blog.youkuaiyun.com/achellies/article/details/7034756
http://blog.youkuaiyun.com/lixiaodaoaaa/article/details/8280039