Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android导航:将前面的片段保留在对话框后面。仅适用于BottomSheetDialogFragment_Android_Android Dialogfragment_Android Jetpack Navigation - Fatal编程技术网

Android导航:将前面的片段保留在对话框后面。仅适用于BottomSheetDialogFragment

Android导航:将前面的片段保留在对话框后面。仅适用于BottomSheetDialogFragment,android,android-dialogfragment,android-jetpack-navigation,Android,Android Dialogfragment,Android Jetpack Navigation,我有一个视频应用程序-一个视频列表,点击一个项目进入视频细节。我希望视频细节是一个全屏对话框片段(能够从这里做运动布局动画)。但前面的对话框不会保留在后面(显示一个空白屏幕)。很奇怪,DialogFragment可以工作,但DialogFragment不能 所以问题是-当使用jetpack导航时,对话框片段是否应该在其下方显示上一个片段?为什么底部工作表有效而对话框无效 使用android jetpack导航完成导航: <action android:id="@+i

我有一个视频应用程序-一个视频列表,点击一个项目进入视频细节。我希望视频细节是一个全屏对话框片段(能够从这里做运动布局动画)。但前面的对话框不会保留在后面(显示一个空白屏幕)。很奇怪,DialogFragment可以工作,但DialogFragment不能

所以问题是-当使用jetpack导航时,对话框片段是否应该在其下方显示上一个片段?为什么底部工作表有效而对话框无效

使用android jetpack导航完成导航:

<action
            android:id="@+id/action_videosFragment_to_video_details_nav_graph"
            app:destination="@id/video_details_nav_graph"/>

导航图的详细信息:

<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/video_details_nav_graph"
    app:startDestination="@id/videoDetailsFragment">

    <dialog
        android:id="@+id/videoDetailsFragment"
        android:name="com.myapp.mobile.ui.video.VideoDetailsFragment"
        android:label="VideoDetailsFragment"
        tools:layout="@layout/fragment_video_details">
    </dialog>
</navigation>


我错过什么了吗?感谢您

在深入研究之后,我们成功地将其与以下各项结合使用:

    override fun onStart() {
        super.onStart()
        val dialog: Dialog? = dialog
        if (dialog != null) {
            val width = ViewGroup.LayoutParams.MATCH_PARENT
            val height = ViewGroup.LayoutParams.MATCH_PARENT
            dialog.window?.setLayout(width, height)
            dialog.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
            dialog.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
        }
    }