Android开发总结笔记 Dialog(对话框) 1-1-19

来源:互联网 发布:仿今日头条网站源码 编辑:程序博客网 时间:2024/06/14 13:21
Dialog是所有对话框的基类,但是一般不直接实例化Dialog,而是通过下面的类创建
  • AlertDialog:可以显示一个标题,最多三个按钮,选择列表,或者一个自定义布局
  • DatePickerDialog或者TimePickerDialog:时间和日期的选择对话框
  • DialogFragment:Fragment里面默认实现了一个Dialog
  • ProgressDialog:进度条对话框(官方不推荐使用)

创建一个DialogFragment
DialogFragment是官方推荐使用的一个对话框的形式
public class TestDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("haha");
builder.setTitle("tip");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
 
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
 
}
});
builder.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
 
}
});
return builder.create();
}
}


DialogFragment内部    其实也可以是用AlertDialog来创建的
Material Design的风格。记得注意导入的包要是support库,否则不兼容


setItems方法可以在中间加上一个列表、另外还有setSingleChoiceItems(单选)和setMutiChoiceItems(多选)
builder.setItems(R.array.city, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
 
}
});



setView可以为Dialog设置自定义布局


onCancel方法可以让Dialog消失



0 0
原创粉丝点击