在Android開發中,我們經常會需要在Android界面上彈出一些對話框,比如詢問用戶或者讓用戶選擇。這些功能我們叫它Android Dialog對話框,AlertDialog實現方法為建造者模式。下面我們模擬卸載應用程序時彈出的最為普通的警告對話框,如下圖:
layout布局界面代碼示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:text="卸載"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="show"
android:id="@+id/button" />
</LinearLayout>
Java實現代碼:
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
/**
* Created by panchengjia on 2016/11/21.
*/
public class AlertDialogDemo extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alterdialog);
}
public void show(View v){
//實例化建造者
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//設置警告對話框的標題
builder.setTitle("卸載");
//設置警告顯示的圖片
// builder.setIcon(android.R.drawable.ic_dialog_alert);
//設置警告對話框的提示信息
builder.setMessage("確定卸載嗎");
//設置”正面”按鈕,及點擊事件
builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlertDialogDemo.this,"點擊了確定按鈕",Toast.LENGTH_SHORT).show();
}
});
//設置“反面”按鈕,及點擊事件
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlertDialogDemo.this,"點擊了取消按鈕",Toast.LENGTH_SHORT).show();
}
});
//設置“中立”按鈕,及點擊事件
builder.setNeutralButton("等等看吧", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlertDialogDemo.this,"點擊了中立按鈕",Toast.LENGTH_SHORT).show();
}
});
//顯示對話框
builder.show();
}
}