对话框(Dialog)的主要目的是用来处理一些少量的用户的互动,一般用来进行一些简单的提示或者获取用户的一些输入的特定数据。例如注册时候输入的信息。
对话框的根类是Dialog,AlertDialog是其子类,在这个类里面有一个内层AlertDialog.Builder类。可以帮助创建AlertDialog(警告对话框)。如表所示为AlertDialog类的3个子类及说明。
Dialog类 | 说明 |
ProcessDialog | 显示运行进度的对话框 |
DatePickerDialog | 设定日期对话框,其内容就是DatePicker组件,可以设定日期 |
TimePickerDialog | 设定时间对话框,其内容就是TimePicker组件,可以帮助设定时间 |
实现显示消息的对话框比较简单。
mianactivity.xml
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示对话框" />
package com.example.laoluo_dialog;
import android.R.id;
import android.app.Activity;
import android.app.ActionBar;
import android.app.AlertDialog;
import android.app.Fragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.os.Build;
public class MainActivity extends Activity {
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)this.findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("提示"); //设置标题
builder.setMessage("你确定要删除吗?"); //设置显示的信息
builder.setIcon(R.drawable.ic_launcher); //添加icon图片
//添加一个positive的按钮,从字面意思,一般用来进行“确定”的作用
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//设置按确定后要做的
}
});
//添加一个Negative的按钮,从字面意思,一般用来进行“取消”的作用
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//设置按取消后要做的
}
});
AlertDialog alertDialog = builder.create();
alertDialog.show(); //显示对话框
}
});
}
}
代码中注释的各部分都很直观的在上图中看出来。