Android探究2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期

Posted 风之旅人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android探究2: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体验一下。

以上是关于Android探究2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Android:日常学习笔记———探究UI开发

android 5.0预制APK方法,android5.0预制apk

Android:日常学习笔记——探究活动

Android下WiFiDisplay功能探究

Android下WiFiDisplay功能探究

(学习笔记)android 5.0 系统去电流程状态判断(下)