您的位置:首页 > 其它

AlertDialog与FragmentDialog

2015-07-08 00:00 197 查看
摘要: AlertDialog设备旋转后会消失,使用fragment包裹AlertDialog的方式可以解决这个问题

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: