1. 程式人生 > >android 之Dialog對話方塊(簡易版)

android 之Dialog對話方塊(簡易版)

實際效果:



例項程式碼:

後臺邏輯:

package com.example.tf.dialog_demo;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements DialogInterface.OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void simple(View view){
        //例項化對話方塊的內部類Builder(構建器)物件
        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setTitle("登入提示");
        builder.setMessage("正在登入......");
        builder.setIcon(R.mipmap.ic_launcher);
        builder.setCancelable(false);

        builder.setPositiveButton("儲存", this);
        builder.setNegativeButton("不儲存",this);
        builder.setNeutralButton("取消",this);

    }

    @Override
    public void onClick(DialogInterface dialogInterface, int which) {
        if(DialogInterface.BUTTON_POSITIVE==which){
            Toast.makeText(getApplicationContext(),"使用者點選了儲存按鈕",Toast.LENGTH_LONG).show();
        }else if(DialogInterface.BUTTON_NEGATIVE==which){
            Toast.makeText(getApplicationContext(),"使用者點選了不儲存按鈕",Toast.LENGTH_LONG).show();
        }else if (DialogInterface.BUTTON_NEUTRAL==which){
            Toast.makeText(getApplicationContext(),"使用者點選額取消按鈕",Toast.LENGTH_LONG).show();
        }
    }


    @Override
    public void onBackPressed() {
        //super.onBackPressed();
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("退出提示");
        builder.setMessage("你確定要退出應用程式嗎?");
        builder.setPositiveButton("是",new DialogInterface.OnClickListener(){
            @Override
            public void onClick(DialogInterface dialogInterface, int which) {
                Toast.makeText(getApplicationContext(), "儲存退出", Toast.LENGTH_SHORT).show();
                finish();
            }
        });

        builder.setNegativeButton("否", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int which) {
                Toast.makeText(getApplicationContext(), "不儲存退出", Toast.LENGTH_SHORT).show();
                finish();
            }
        });

        builder.setNegativeButton("取消",new DialogInterface.OnClickListener(){

            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Toast.makeText(getApplicationContext(), "返回應用程式", Toast.LENGTH_SHORT).show();
            }
        });
            builder.create().show();
        System.out.println("====onBackPressed====");

    }
}