1、关于AlertDialog
1.1 如何定义
AlertDialog不可以直接使用new进行创建,需要借助与AlertDialog.Builder进行创建。
具体代码如下所示:
new AlertDialog.Builder(getActivity())//返回一个AlertDialog.Builder对象
.setTitle("标题")//dialo的标题
.setMessage("datePicker")//dialog中的内容
.setPositiveButton("OK", null)//设置确定按钮
.create()//返回AlertDialog对象
1.2 自定义界面
主要是调用 setView()方法,具体代码如下
new AlertDialog.Builder(getActivity()).setTitle("标题")
.setView(datePicker)//--------这个是设置的自定义的View
.create();
1.3 会出现的问题
AlertDialog设备旋转后会消失,为了解决这个问题,可以考虑使用FragmentDialog
2、关于FragmentDialog
具体的实现步骤如下
1、写一类 extends DialogFragment
2、重写 onCreateDialog方法,如下所示:
public class DatePickerDialogFragment extends DialogFragment{
@Override
@NonNull
public Dialog onCreateDialog(Bundle savedInstanceState) {
DatePicker datePicker = new DatePicker(getActivity());
return new AlertDialog.Builder(getActivity()).setTitle("标题")
.setView(datePicker)
.setPositiveButton("OK", null).create();
}
}
3、在调用的时候使用 使用此DialogFragment的show(FragmentManager/FragmentTransaction ,String tag)方法
如下所示:
DatePickerDialogFragment datePickerDialogFragment = new DatePickerDialogFragment();
datePickerDialogFragment.show(DialogActivity.this.getSupportFragmentManager(),"tag");
今天的贴图:
每一天贴一些可爱的gif图片,让自己看了很happy