千家信息网

如何使用DialogFragment

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章给大家分享的是有关如何使用DialogFragment,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。01 概述DialogFra
千家信息网最后更新 2026年11月02日如何使用DialogFragment

本篇文章给大家分享的是有关如何使用DialogFragment,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

01 概述

DialogFragment是在Android 3.0的时候被引入的, 目的是dialog也变成了碎片。DialogFragment是Fragment的子类,用于创建于用户交互的对话框。在DialogFragment未哇哇坠地之前,我们一般用AlertDialog和Dialog来创建对话框。现在,谷歌官方不建议直接使用Dialog创建对话框。

02 优点
  • DialogFragment的生命周期和Fragment是一致的。它同样具有自己的窗口,能处理接受用户的输入事件以及处理销毁控件的事件(通过按下返回键或者用户点击对话框的取消键)。因此它便于Activity更好的控制管理DialogFragment

  • 相比Dialog,DialogFragment能完美横竖屏幕切换的问题。Dialog会随屏幕切换而消失,DialogFragment会随着屏幕自动调整大小,甚至能通过发送Bundle给Fragment来保存切换之前用户的状态。

  • Dialog控件是不属于Activity管理范围,所以没有必要在Activity写一大坨关于Dialog的代码,应该将其抽取出来。

03 用法

继承DialogFragment类,然后必须实现onCreateView(LayoutInflater, ViewGroup, Bundle)或者onCreateDialog(Bundle)方法。onCreateView即使用定义的xml布局文件展示Dialog。onCreateDialog即利用AlertDialog或者Dialog创建出Dialog。

1)创建自定义Dialog
a、创建一个名为show_version_basicdialog的布局文件,是DialogFragment对应的布局文件。
b、继承DialogFragment类,重写onCreateView方法

showVersionDialogFragment中就只有两个方法,一个newInstance(),用于获取showVersionDialogFragment的实例。另一个则是使用inflater加载刚才自己新建的布局。

在示例samples-23_r02\content\webview\PermissionRequest中, 谷歌官方建议我们的对话框内能提供newInstance()的方法。这样方便管理,例如你需要对话框一直处于栈顶,那么你就要使用FragmentTransaction结合newInstance()来控制。

c、显示对话框


show()方法有两个参数,第一个参数传入FragmentManager对象;第二个参数是一个Tag, 只要不跟其他重复即可。利用该tag,FragmentManager可以通过findFragmentByTag获取到该对话框的示例。

2)创建Alert Dialog
a、继承DialogFragment,重写onCreateDialog方法
该方法返回的是一个AlertDialog实例化对象。

b、显示对话框


04 与Activity(Framgent)交互

以上面创建Alert Dialog为例子继续讲解。
最简单、最方便的方法是利用Java的接口回调机制,在DialogFragment类中定义一个回调接口, Activity(Framgent)实现该接口。
在DialogFragment类中


在Activity(Framgent)类中


以上就是如何使用DialogFragment,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

对话框 对话 方法 布局 用户 参数 屏幕 接口 文件 切换 管理 两个 事件 官方 实例 对象 建议 控件 更多 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网科技工作委员会 互联网科技垄断 互联网科技未来 互联网科技大会 互联网科技视频素材 剑昆互联网络科技有限公司临桂 互联网科技寓意 互联网科技革命什么开始 电子科技大学互联网创业大赛 天津腾达互联网科技有限公司 东莞新华互联网科技学校 2021互联网科技公司排名 美国互联网科技公司 浙南科技城互联网大厦招聘 广东鹅鹅鹅互联网科技有限公司 互联网时代科技型公司的机会 容联科技互联网电商 互联网科技企业商标注意事项 银川新华互联网科技学校招聘 上海喔噻互联网科技有限公司 广州为想互联网科技有限公司 苏州找大状互联网科技有限公司 互联网金融与金融科技 期待互联网科技 华中科技大学互联网 互联网行业科技股 互联网科技的全部知识 朱啸虎曾投资哪些互联网科技企业 广州有谷有贝互联网科技有限公司
0