DialogFragment(一)——简介

作者: 奔跑的佩恩 | 来源:发表于2017-12-13 16:18 被阅读402次

    前言

    以前经常用dialog作为弹出框,但是google推荐我们使用新的dialog模式,即DialogFragment,今天就来讲讲dialogFragment相关知识点
    本文涉及知识点:

    • dialogFragment 相对 dialog 的优势
    • Fragment生命周期
    • DialogFragment生成的两种方式
    一.DialogFragment相对dialog的优势

    大家都知道,dialog在关闭的时候,容易发生内存泄漏,而dialogFragment是和activity的生命周期绑定的,dialogFragment自身对内存做了些处理,它不仅具备dialog功能,还避免了内存的泄露,特别是在手机进行横竖屏切换的时候。

    二.Fragment生命周期

    dialogFragment的继承链如下:

    AppCompatDialogFragment ------> DialogFragment ------->Fragment
    

    所以DialogFragment 包括其子类AppCompatDialogFragment实质上是一个Fragment,为了方便后文叙述,我们贴一下Fragment 的生命周期


    1.png
    2.png

    DialogFragment也遵循以上生命周期

    三.DialogFragment生成的两种方式

    dialogFragment创建的方式有两种:
    1.通过重写 onCreateDialog(Bundle savedInstanceState) 方法创建默认dialogFragment
    2.通过重写 onCreateView 方法来自定义dialogFragment
    需要注意的是这两个方法不能同时写,即我在写默认dialogFragment的时候,就只要重写onCreateDialog方法而不需要去重写onCreateView方法。同理,在自定义dialogFragment的时候就只要重写onCreateView方法就好。

    ok,今天就讲到这里,下篇文章介绍默认dialogFragment的创建。

    相关文章

      网友评论

        本文标题:DialogFragment(一)——简介

        本文链接:https://www.haomeiwen.com/subject/effzixtx.html