android中使用popupWindow悬浮框与软键盘冲突的问题

Posted kaolagirl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android中使用popupWindow悬浮框与软键盘冲突的问题相关的知识,希望对你有一定的参考价值。

一. 问题描述

就是我在打开省市区弹框前,如果有软键盘就隐藏后显示弹框,但是当我打开弹框时,软件盘并没有消失并和弹框一起出现顶到上面去,具体看下图。
在这里插入图片描述

在这里插入图片描述

二. 问题尝试

从网上找了很多方法,比如下面这条,试了也是没效果,但好奇的就是它如果不在弹窗中是可以关闭的

   InputMethodManager inputMsg = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
   if(inputMsg !=null){
         inputMsg.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
   }
三. 成功解决

上面那个方法也不是不对,只是少了点东西,然后我在它基础上稍微改下,就可以了

    InputMethodManager inputMsg = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    if(inputMsg !=null){
           inputMsg.hideSoftInputFromWindow(v.getWindowToken(), 0);
    }

这个我是在vivo手机上试的,其他手机还没试

以上是关于android中使用popupWindow悬浮框与软键盘冲突的问题的主要内容,如果未能解决你的问题,请参考以下文章

4.PopupWindow

Android 高级UI设计笔记19:PopupWindow使用详解

Popupwindow的使用

[Android]异常8-android.view.WindowManager$BadTokenException

Android弹窗探究之PopupWindow的使用

Android—PopupWindow的简单使用