• 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体验一下。

  • 相关阅读:
    软件测试分类与分级
    项目风险管理(Project Risk Management)
    软件测试基础
    【1】开关电源纹波的抑制
    EMC小知识
    【02】STM32:跑马灯配置
    【01】STM32:GPIO管脚模式设置
    【07】Java入门07:继承与抽象类
    【06】Java入门06:IO流-基础
    【05】Java入门05:Java集合
  • 原文地址:https://www.cnblogs.com/jooy/p/8686049.html
Copyright © 2020-2023  润新知