我正在尝试从视频列表中启动BottomSheetDialogFragment,一旦打开,将会播放一个视频,但是我希望用户在BottomSheetDialogFragment打开时可以选择其他视频。
我尝试过:
<style name="CustomBottomSheetDialogTheme" parent="Theme.Design.Light.BottomSheetDialog">
<item name="bottomSheetStyle">@style/CustomBottomSheetStyle</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:colorBackground">@android:color/transparent</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:backgroundDimAmount">0</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
</style>
<style name="CustomBottomSheetStyle" parent="Widget.Design.BottomSheet.Modal">
<item name="android:background">@android:color/transparent</item>
</style>
并且:
@SuppressLint("RestrictedApi")
override fun setupDialog(dialog: Dialog?, style: Int) {
super.setupDialog(dialog, style)
dialog?.window?.setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE)
dialog?.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
dialog?.setCanceledOnTouchOutside(false)
dialog?.setCancelable(false)
}
在DialogFragment中上述所有内容都可用,但在BottomSheetDialogFragment中不行。
BottomSheetDialogFragment
,但是你可以使用android.support.design.widget.BottomSheetBehavior
和Layout
实现类似的功能。 - ADM