zoukankan      html  css  js  c++  java
  • 关于PopupWindow的一些备忘

    1.有无背景对PopupWindow的影响。

    设置了PopupWindow的background,点击Back键或者点击弹窗的外部区域,弹窗就会dismiss。相反,如果不设置PopupWindow的background,那么点击back键和点击弹窗的外部区域,弹窗是不会消失的。

    原因是如果有背景,则会在contentView外面包一层PopupViewContainer之后作为mPopupView,如果没有背景,则直接用contentView作为mPopupView。而这个PopupViewContainer是一个内部私有类,它继承了FrameLayout,在其中重写了Key和Touch事件的分发处理

    博文:http://www.cnblogs.com/mengdd/p/3569127.html 对它的源码进行了分析。

    解决方法:

    giftPopupWindow.setBackgroundDrawable(new BitmapDrawable());

    2.部分型号的手机(如Nexus系列)有虚拟操作区域。如果PopupWindow操作区域为全屏,会遮挡住虚拟按键操作区。

    giftPopupWindow.setBackgroundDrawable(new BitmapDrawable());

    加入了这句话后,PopupWindow在计算全屏区域时将不会把虚拟操作区计算进去。

      

  • 相关阅读:
    HTML课堂笔记
    pycrul使用
    计算机网络概述
    重温冒泡排序
    初识MySQL
    宝塔Linux面板安装教程
    运维和shell
    nginx学习总结
    docker学习汇总
    linux 安装redis 完整步骤
  • 原文地址:https://www.cnblogs.com/fishbone-lsy/p/5169492.html
Copyright © 2011-2022 走看看