欢迎来到【flask vue论坛源码】【微信美颜源码】【串口助手应用源码】dialog 源码-皮皮网网站!!!

皮皮网

【flask vue论坛源码】【微信美颜源码】【串口助手应用源码】dialog 源码-皮皮网 扫描左侧二维码访问本站手机端

【flask vue论坛源码】【微信美颜源码】【串口助手应用源码】dialog 源码

2024-11-19 07:24:57 来源:{typename type="name"/} 分类:{typename type="name"/}

1.Dialog与PopWindow的区别

dialog 源码

Dialog与PopWindow的区别

       ä»Ždialog的源码可以看出,一个dialog的创建就是一个window的创建;而Activity也是一个window,所以在onCreate中调用dialog的show方法可以弹出,因为两个window是相互独立的,dialog的弹出不会触发Activity的生命周期;

        并且源码中可以看出,dialog默认是点击空白取消的,并位于居中位置。

        源码:

        从源码来看PopWindow的DecorView是PopupDecorView,PopupDecorView是继承

        FrameLayout,源码flask vue论坛源码所以本质上PopupWindow就是一个View,需要依附一个具体的view,

        默认情况下是不能够在onCreate时显示;所以如果想要在界面显示的时候就弹出PopupWindow

        需要重写onWindowFocusChanged方法,判断activity完全显示,并且已经拿到焦点,此时

        才能进行显示;

        否则会报出异常:

        android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?