我有一个要求,我有一个活动,该活动显示诸如 facebook 提要之类的项目列表,并且当单击列表项之一中的按钮时,必须弹出一个对话框,该对话框将显示该项目的评论。
我浏览了文档,发现我们必须动态创建一个DialogFragment来实现这一点。如果这是正确的方法,请提出建议。
我有一个要求,我有一个活动,该活动显示诸如 facebook 提要之类的项目列表,并且当单击列表项之一中的按钮时,必须弹出一个对话框,该对话框将显示该项目的评论。
我浏览了文档,发现我们必须动态创建一个DialogFragment来实现这一点。如果这是正确的方法,请提出建议。
您实际上不必使用对话框。我认为当您想向用户显示简单视图或仅向用户显示警报/确认(通常使用 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();
希望它有所帮助:) 运气!