使用AlertDialog一般的几个步骤:
创建方式:借助AlertDialog的内部Buider来调用一系列的方法实现
AlertDialog alertDialog = new AlertDialog.Builder(context)
.setTile()
.setIcon()
.setView()或者setMessage或者setItems()
.setPositiveButton("文字",new DialogInterface.OnClickLister() {
这里是onClick方法
})//该按钮的监听器
.setNegativeButton("文字" , DialogInterface.OnClickLister||null)
.create();
show()//显示
dismiss()//按下AlertDialog上的PositiveButton或者NegativeButton都会默认关闭对话框;
案例一 :创建AlertDialog使用setItem():
AlertDialog exitDialog;
@Override
public void onBackPressed() {
exitDialog = new AlertDialog.Builder(this)
.setTitle("退出对话框")
.setIcon(R.drawable.ic_launcher)
.setItems(new String [] {"退出","取消"},new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
if(arg1 == 0){
finish();
}
}
})
//创建对话框
.create();
//显示对话框
exitDialog.show();
}
案例二:创建AlertDialog使用setMessage():
AlertDialog exitDialog;
@Override
public void onBackPressed() {
//创建对话框
exitDialog = new AlertDialog.Builder(this)
.setTitle("退出")
.setIcon(R.drawable.ic_launcher)
.setMessage("是否定退出")
.setPositiveButton("退出",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
finish();
}
})
.setNegativeButton("取消",null)
.create();
//
//显示对话框
exitDialog.show();
}
案例三:自定义AlertDialog实现 在退出时的ExitText对话框中输入内容,退出时Toast显示:输入内容+感谢使用本软件,字样
首先在Layout新建一个alertdialog.xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="35dp"
android:layout_gravity="center_vertical"
android:text="请输入您的大名" />
<EditText
android:id="@+id/alertdialog_exit_et"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
java代码:
AlertDialog exitDialog;
@Override
public void onBackPressed() {
View view = LayoutInflater.from(this).inflate(R.layout.alertdialog,
null);
final EditText etname = (EditText) view
.findViewById(R.id.alertdialog_exit_et);
exitDialog = new AlertDialog.Builder(this).setTitle("退出").setView(view)
.setNegativeButton("取消", null)
.setPositiveButton("离开", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
String iname = etname.getText().toString().trim();
Toast.makeText(MainActivity.this, iname + ",感谢使用本软件",
Toast.LENGTH_LONG).show();
finish();
}
}).create();
exitDialog.show();
}
自定义alertdialog界面显示效果: