android - 如何在普通 fragment 中添加 DialogFragment?

标签 android android-fragments android-dialogfragment

此来源显示 DialogFragment 创建了新的 Fragment 并阻止了所有屏幕 (FragmentActivity)。我需要在 Fragment 中添加一个 Dialog,这样当我可以滚动屏幕时 DialogFragment 就不会受到干扰。当前代码:

FragmentManager fm = fa.getSupportFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
            // create dlg fragment
            DialogFragment fragment = new DialogFragment();
            // show the dialog.
            fragment.show(fm, "android:switcher:888889:1"); // "android:switcher:888889:1" - existing fragment!

enter image description here

最佳答案

i need to add Dialog in the "fragment" Then I can scroll the screen and FragmentDialog will not interfere

普通的 DialogFragment(或普通的 Dialog)将无法满足您的需求。 Insted 你可以使用嵌套的 Fragments。更准确地说,您需要从 ViewPager 修改当前 Fragment 的 View ,以使用 RelativeLayout 包装其当前布局>FrameLayout 以及在内容之上添加另一个容器(FrameLayout)。

顶部的额外 FrameLayout 将用作 Dialog 持有者(因此 Dialog 将显示为 float 在正常内容之上) 并向此容器添加一个 Fragment 来表示 Dialog(一个普通的 Fragment,而不是 DialogFragment).然后,您将能够滑动 ViewPager,即使您的假 Dialog 正在显示。

另外,请记住,尽管屏幕上显示了一个 Dialog,但滑动 ViewPager 可能对用户来说有违直觉。

关于android - 如何在普通 fragment 中添加 DialogFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170834/

相关文章:

android - fragment 内 fragment 中的上下文菜单(ActionMode)

android - 显示 DialogFragment 时调用 fragment 不会暂停

android - 在 XML 定义的数组中使用 Java 常量

java - 切换屏幕时 LibGDX NullPointerException

安卓接口(interface)

android - 何时手动附加/分离 Android fragment ?

android - adb命令从apk获取versionCode

java - 如何从不同的 ViewPager Fragment 访问单个 Activity 按钮?当前选择了哪个选项卡

android - DialogFragment 中的工具栏

android - ViewPager2 不破坏 fragment