在AlertDialog使用详解中,非常详细的介绍了以下六种使用方法。
一、简单的AlertDialog(只显示一段简单的信息,比如about us)
二、带按钮的AlertDialog(显示提示信息,让用户操作,比如exit时的警告框)
三、类似ListView的AlertDialog(展示内容,比如某人的一些注册信息)
四、类似RadioButton的AlertDialog(让用户选择,单选)
五、类似CheckBox的AlertDialog(让用户多选)
六、自定义View的AlertDialog(当以上方式满足不了你的需求,就要自定义了)
在现实中,我们常常会遇到按下退出键然后弹出一个窗口,询问我们是否确认退出,要做到这样的效果的方法有许多种,而今天我给大家来介绍的是一种较为简单的实现方法,下面上代码。
MainActivity.java
package com.whisker.backcheck;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.KeyEvent;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if((keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_HOME) && event.getRepeatCount() == 0){
dialogExit(MainActivity.this);
}
return true;
}
public static void dialogExit(Context context){
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("提示");
builder.setMessage("确定要退出吗?");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss();
android.os.Process.killProcess(android.os.Process.myPid());
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss();
}
});
builder.create().show();
}
}
<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="com.whisker.backcheck.MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
下面是效果图: