为什么要使用DialogFragment?

16

基本上,对话框会使后台活动停止。因此,DialogFragment 以增加的复杂性实现了相同的功能。那么为什么应该使用 DialogFragment ,虽然有各种子类的 Dialog 可用呢。

4个回答

7

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

根据Google文档:

如果需要,DialogFragment仍然可以选择用作普通片段。 如果您有一个片段,在某些情况下应该显示为对话框,而在其他情况下嵌入到较大的UI中,则这很有用。


4

FragmentDialog是一个可以作为片段使用的碎片对话框,它可以:

  1. used as fragment, e.g.:

    FragmentTransaction trans = getSupportFragmentManager().beginTransaction();
    trans.add(R.id.navigation_fragment, mFriendFragment);
    trans.commit();
    
  2. used as dialog, e.g.:

    FragmentManager fm = getFragmentManager();
    UnsubscribeTabletFragment fragment = new UnsubscribeTabletFragment();
    fragment.show(fm, "dialog");
    
所以,如果您有一个片段,而该片段有时作为片段工作,有时作为对话框工作,则应使用此选项。

3

1

如果您的Android应用程序中已经使用了片段(Fragment)实现动态布局,那么当您需要在操作按钮点击或其他点击事件中使用它时,DialogFragment比普通对话框更加方便。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接