6

我有一个要求,我有一个活动,该活动显示诸如 facebook 提要之类的项目列表,并且当单击列表项之一中的按钮时,必须弹出一个对话框,该对话框将显示该项目的评论。

我浏览了文档,发现我们必须动态创建一个DialogFragment来实现这一点。如果这是正确的方法,请提出建议。

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

16

您实际上不必使用对话框。我认为当您想向用户显示简单视图或仅向用户显示警报/确认(通常使用 AlertDialog 完成)时,对话框更合适。

对于您的情况,我想最好的方法是在您的 Activity 上使用 FrameLayout,主布局元素的同级元素,并在您想在主 Activity 布局上显示类似的弹出窗口时向其添加 Fragment。只要将片段的视图放在活动的根布局元素之后,片段就会显示在主布局的顶部,作为覆盖。例如:

<merge xmlns:android="http://schemas.android.com/apk/res/android">
    <LinearLayout android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:orientation="vertical">
        <!-- Activity's main layout here -->
    </LinearLayout>

    <FrameLayout android:id="@+id/overlay_fragment_container"
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"/>
</merge>

当你想显示你做的片段时,然后在你的 Activity 上:

FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
        .add(R.id.overlay_fragment_container, yourFragment)
        .commit();

希望它有所帮助:) 运气!

于 2013-10-13T05:53:31.900 回答