Dialog是Android里面用于让用户确认或输入信息的简单的UI展现形式,本文将通过Demo讲解如何使用Dialog。通常,我们不应该直接使用Dialog,而是应该使用Dialog的子类AlertDialog或DatePickerDialog以及TimePickerDialog。这三个子类对Dialog进行了封装,并定义了它们各自的外观结构。其中[AlertDialog]的样式通常包含了确定和取消按钮,以及标题和一小段描述文字。DatePickerDialog和TimePickerDialog用于选择日期和时间。
通常我们应该使用Dialogfragment作为Dialog的容器,Dialogfragment提供了对Dialog的封装以及生命周期的管理,可以自动处理屏幕旋转后DialogFragment的重建(Dialog则不能),下面给出了一个DialogFragment的典型用法。
简单的对话框
public class MyDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// 设置Dialog样式和theme
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), 0);
builder.setTitle("提示")
.setMessage("确定继续?")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
communicateInterface.positiveClicked();
dismiss();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
communicateInterface.negativeClicked();
dismiss();
}
});
Dialog dialog = builder.create();
return dialog;
}
}
含列表的对话框
可以在对话框里添加简单的列表:
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder