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

来源:互联网 发布:淘宝买家怎么申诉违规 编辑:程序博客网 时间:2024/05/30 05:27

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 system05-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..


























原创粉丝点击