package com.yztc_alertdialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import com.yztc_popupwindow.R;
/**
* 演示AlertDialog
*/
public class DialogActivity extends Activity {
private AlertDialog mDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dialog);
// 创建一个Dialog
initDialog();
}
// 初始化Dialog
private void initDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 方法链形式
builder.setTitle("标题").setIcon(android.R.drawable.btn_dialog)
.setMessage("是否退出")
.setPositiveButton("确定", new OnClickListener() {
// 确定按钮退出App
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
}).setNegativeButton("取消", null);// 取消什么都不做,可以设置
// 创建Dialog对象
mDialog = builder.create();
}
// 显示AlertDialog
public void showDialog(View v) {
if (!mDialog.isShowing()) {
// 显示出来
mDialog.show();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && (!mDialog.isShowing())) {
mDialog.show();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".DialogActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#82b74c"
android:onClick="showDialog"
android:text="显示Dialog"
android:textColor="#fff" />
</RelativeLayout>