zoukankan      html  css  js  c++  java
  • Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期

    先给出结论:Dialog和AlertDialog并不会影响到Activity的生命周期,但会影响到Activity的优先级。

    核心代码:

    onCreated中:
            Resources resources = this.getResources();
            DisplayMetrics displayMetrics = resources.getDisplayMetrics();
            final int widthPixels = displayMetrics.widthPixels / 2;
            final int heightPixels = displayMetrics.heightPixels / 2;
            //1
            //Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期
            FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    //                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
    //                        .setAction("Action", null).show();
                    //test Dialog
    //                EditText editText = new EditText(ScrollingActivity.this);
    //                editText.setLayoutParams(new ViewGroup.LayoutParams(widthPixels, heightPixels));
    //                Dialog dialog = new Dialog(ScrollingActivity.this);
    //                dialog.setContentView(editText);
    //                dialog.setTitle("标题");
    //                dialog.setCanceledOnTouchOutside(false);
    //                dialog.show();
                    //test Dialog
                    AlertDialog.Builder builder = new AlertDialog.Builder(ScrollingActivity.this);
                    builder.setTitle("弹窗")
                            .setMessage("Msg")
                            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.dismiss();
                                }
                            }).setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                            ;
                        }
                    }).setCancelable(false);
                    builder.create().show();
                }
            });
    
    In Activity:
     @Override
        protected void onStart() {
            super.onStart();
            System.out.println("ScrollingActivity.onStart");
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            System.out.println("ScrollingActivity.onResume");
        }
    
        @Override
        protected void onPause() {
            super.onPause();
            System.out.println("ScrollingActivity.onPause");
        }
    
        @Override
        protected void onStop() {
            super.onStop();
            System.out.println("ScrollingActivity.onStop");
        }

    有兴趣的同志可以新建个Activity体验一下。

  • 相关阅读:
    linux脚本Shell之awk详解(二)
    linux脚本Shell之awk详解
    漫谈计算摄像学 (二):利用光场实现“先拍照后对焦”
    漫谈计算摄像学 (一):直观理解光场(Light Field)
    利用OpenCV检测图像中的长方形画布或纸张并提取图像内容
    2048理论上最高能玩到多少分?
    蛋疼之作:99行代码的2048
    用一个玩具例子说明基于视频的超分辨率重建的基本思想
    [C++]二维数组还是一维数组?
    三维空间中如何寻找和一组给定直线垂直程度最高的直线
  • 原文地址:https://www.cnblogs.com/jooy/p/8686049.html
Copyright © 2011-2022 走看看