AlertDialog与FragmentDialog
2015-07-08 00:00
197 查看
摘要: AlertDialog设备旋转后会消失,使用fragment包裹AlertDialog的方式可以解决这个问题
具体代码如下所示:
1、写一类 extends DialogFragment
2、重写 onCreateDialog方法,如下所示:
3、在调用的时候使用 使用此DialogFragment的show(FragmentManager/FragmentTransaction ,String tag)方法
如下所示:
今天的贴图:
每一天贴一些可爱的gif图片,让自己看了很happy
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设备旋转后会消失,为了解决这个问题,可以考虑使用FragmentDialog2、关于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
相关文章推荐
- ehcache-server RESTful
- 我的第一台打印机-加电测试
- ZooKeeper典型应用场景一览
- 中大型移动互联网公司技术架构选择(转载)
- 多个相同属性的表单,获取不同表单的属性值
- android文档笔记(1)
- 敏捷管理是什么?
- 信息系统项目管理师挂靠方法及流程
- 执行一条sql语句update多条记录实现思路
- 几经辛苦,千医康健康网站终于上线
- View 事件传递,分发与拦截
- CSS 文本常用的换行方法
- 手机页面左右漂浮, PC端没有滚动条的抓狂问题
- boostrap 里的media的图片为什么会看不见
- Java程序员到架构师的推荐阅读书籍
- shell脚本利用Here Document ,打包C的源码并编译生成再执行。shell携代攻击程序
- 解决ssh登录后闲置时间过长而断开连接
- 上班的第五百二十二天
- Atom中文乱码字体大小设置
- msysgit之git bash方便的复制粘贴,默认工作目录,窗口大小,提高速度等小窍门