【问题标题】:Why to use DialogFragment?为什么要使用 DialogFragment?
【发布时间】:2012-08-22 19:01:18
【问题描述】:

基本上对话框会在后台停用活动。所以DialogFragment 做同样的事情增加了复杂性。那么尽管Dialog 的各种子类都可用,为什么还要选择DialogFragment

【问题讨论】:

    标签: android dialog android-widget


    【解决方案1】:

    Fragments 在您的活动中使用,但要使用FragmentTransaction 将片段呈现为对话框(窗口)并跟进片段的生命周期,您需要使用DialogFragment。但是,您也可以使用简单的Dialog,但这与片段的生命周期无关。

    根据谷歌文档:

    DialogFragment 仍然可以选择性地用作普通片段,如果 想要的。如果您有一个片段,在某些情况下,这很有用 应显示为对话框,其他内容应嵌入更大的 UI。

    【讨论】:

      【解决方案2】:

      FragmentDialog 是一个片段,可以:

      1. 用作片段,例如:

        FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
        trans.add(R.id.navigation_fragment, mFriendFragment);
        trans.commit();
        
      2. 用作对话框,例如:

        FragmentManager fm = getFragmentManager();
        UnsubscribeTabletFragment fragment = new UnsubscribeTabletFragment();
        fragment.show(fm, "dialog");
        

      因此,如果您有一个片段,并且该片段有时用作片段,有时用作对话框,那么您应该使用这个。

      【讨论】:

        【解决方案3】:

        DialogFragment 允许在您的应用程序上重用对话框的一部分。就像片段为你的布局做的一样。

        这里有一篇关于 DialogFragment 的好文章: http://android-developers.blogspot.fr/2012/05/using-dialogfragments.html

        【讨论】:

          【解决方案4】:

          当您的 android 应用程序中已经使用 Fragment 进行了动态布局时,您需要通过操作按钮单击或其他单击在对话框中/在对话框中使用它,所以这次 dialogFragment 比普通对话框更方便。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-16
            • 2016-09-12
            • 1970-01-01
            • 2020-11-07
            • 2011-07-27
            相关资源
            最近更新 更多