网上查了很多资料,见过最多的两句代码就是:
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.csdn.net/achellies/article/details/7034756 http://blog.csdn.net/lixiaodaoaaa/article/details/8280039