美文网首页
点击按钮显示隐藏popupwindow大概思路

点击按钮显示隐藏popupwindow大概思路

作者: Amy_LuLu__ | 来源:发表于2019-06-20 14:16 被阅读0次

    需求:
    点击一个按钮显示和隐藏popupwindow
    点击外部可隐藏popupwindow

      //  floorDialog集成popupwindow
            if (floorDialog == null) { 
                  //弹出pop
                  floorDialog = new selectElevatorDialog(getActivity());
                  floorDialog.popView(llViewFloor, 300, 50);
            } else {
                if (floorDialog.isShowing()) {
                    floorDialog.dismiss();
                    floorDialog = null;
                } else {
                    floorDialog = null;
                    //弹出pop
                    floorDialog = new selectElevatorDialog(getActivity());
                    floorDialog.popView(llViewFloor, 300, 50);
                }
            }
    

    可能出现的问题:
    Android问题——PopupWindow的isShowing()一直都是返回false
    https://blog.csdn.net/a10615/article/details/51460942

    摘录:
    问题:查看是否这样的设计思路:用一个按钮,通过isShowing()来判断状态,然后展示和隐藏popup。且使能了外部触摸
    setBackgroundDrawable(new BitmapDrawable());
    setOutsideTouchable(true)
    然后在按钮中获取isShowing()的状态,结果一直返回的都是false。

    原因分析:你触摸按钮的时候,它属于外部区域,触摸它肯定会把popup隐藏,所以,在按钮事件中判断一直都是false

    解决办法:让popup把焦点从外部抢夺过来,setFocusable(true)即可,至于setTouchable(true),不用也行。这个时候也不用判断状态了,按钮中只处理显示代码就行了

    相关文章

      网友评论

          本文标题:点击按钮显示隐藏popupwindow大概思路

          本文链接:https://www.haomeiwen.com/subject/icndqctx.html