1. 程式人生 > >Android探究2:Android 5.0下 Dialog&AlertDialog 並不會影響Activity的生命周期

Android探究2:Android 5.0下 Dialog&AlertDialog 並不會影響Activity的生命周期

lac wid cancel test () onclick posit make div

先給出結論: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的生命周期