我有一个要求,我有一个活动,显示像Facebook提要的项目列表,当点击其中一个列表项目的按钮时,一个对话框必须弹出,它将显示该项目的评论。
我正在查看文档,发现我们必须动态创建DialogFragment来实现这一目标。如果这是正确的方法,请提供建议。
答案 0 :(得分:16)
您实际上不必使用Dialog。我想当你想要向用户显示简单的视图或只是警告/确认时(通常使用AlertDialog),对话框更合适。
对于你的情况,我想最好的方法是在你的Activity上有一个FrameLayout,你的主要布局元素的兄弟,并在你想要在你的主Activity的布局上显示这样的弹出窗口时添加一个Fragment。只要将片段的视图放在活动的根布局元素之后,片段就会显示在主布局的顶部,作为叠加层。 e.g:
<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>
然后在您想要显示您执行的片段时调用您的活动:
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.add(R.id.overlay_fragment_container, yourFragment)
.commit();
希望它有所帮助:)运气!