dialog 被另外一个dialog覆盖,生命周期如何执行

dialog 被另外一个dialog覆盖,生命周期如何执行



1,自定义dialog,在构造方法中设置dialog style,

<style name="CustomDialog" parent="android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item><!--边框-->
        <item name="android:windowIsFloating">false</item> <!--是否浮现在activity之上 -->
        <item name="android:windowNoTitle">true</item><!--无标题 -->
    </style>

2,在oncreate中设置dialog宽度高度,
	Window window = getWindow();
        window.setContentView(R.layout.dialog_progressbar);//布局

        int width = window.getWindowManager().getDefaultDisplay().getWidth();
        int height = window.getWindowManager().getDefaultDisplay().getHeight();
        window.setLayout(width/2,height/2);
        window.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);//居中对齐


3,对第二个对话框坐标变换,第一个对话框默认居中,第二个对话框避免遮挡

public void setLocatoin(){
        LogUtil.i("Dialog2.setLocatoin...");
        Window window = getWindow();
        WindowManager.LayoutParams attributes = window.getAttributes();
        int width = window.getWindowManager().getDefaultDisplay().getWidth();
        int height = window.getWindowManager().getDefaultDisplay().getHeight();
        attributes.x = width/2;
        attributes.y = height/2;
        attributes.width = width/2;
        attributes.height = height/2;
        window.setAttributes(attributes);

    }

4, 当第二个对话框覆盖在第一个对话框上面时,所执行的生命周期是,(Dialog2 是第一个对话框,Dialog3是第二个对话框打印)
05-27 16:20:07.527 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowAttributesChanged..
05-27 16:20:07.528 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowAttributesChanged..
05-27 16:20:07.528 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowAttributesChanged..
05-27 16:20:07.533 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowAttributesChanged..
05-27 16:20:07.546 12736-12736/com.tao.asjava I/as_java: Dialog2.onContentChanged..
05-27 16:20:07.548 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowAttributesChanged..
05-27 16:20:07.549 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowAttributesChanged..
05-27 16:20:07.550 12736-12736/com.tao.asjava I/as_java: Dialog2.onStart..
                                                         
                                                         --------- beginning of system
05-27 16:20:07.558 12736-12736/com.tao.asjava I/as_java: Dialog2.onAttachedToWindow..
05-27 16:20:07.583 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowFocusChanged..
05-27 16:20:09.034 12736-12736/com.tao.asjava I/as_java: Dialog3.constructor..
05-27 16:20:09.034 12736-12736/com.tao.asjava I/as_java: Dialog3.setLocatoin...
05-27 16:20:09.037 12736-12736/com.tao.asjava I/as_java: Dialog3.onCreate..
05-27 16:20:09.043 12736-12736/com.tao.asjava I/as_java: Dialog3.onStart..
05-27 16:20:09.052 12736-12736/com.tao.asjava I/as_java: Dialog3.onAttachedToWindow..
05-27 16:20:09.088 12736-12736/com.tao.asjava I/as_java: Dialog3.onWindowFocusChanged..
05-27 16:20:09.101 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowFocusChanged..
05-27 16:21:32.968 12736-12736/com.tao.asjava I/as_java: Dialog2.onWindowFocusChanged..
05-27 16:21:37.958 12736-12736/com.tao.asjava I/as_java: Dialog2.onDetachedFromWindow..
05-27 16:21:37.964 12736-12736/com.tao.asjava I/as_java: Dialog2.onStop..


























  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值