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