Popwindow中弹出软键盘后挡住Pop问题

     网上查了很多资料,见过最多的两句代码就是:

    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
  



  


  
	


你可能感兴趣的:(Popwindow中弹出软键盘后挡住Pop问题)