Ответ
BottomSheetDialog — это стандартный диалог с нижним листом, расширяющий BottomSheetDialog. Прост в использовании, но не поддерживает жизненный цикл фрагментов.
BottomSheetDialogFragment наследуется от DialogFragment и предоставляет все преимущества фрагментов: управление жизненным циклом, сохранение состояния, интеграцию с ViewModel.
Пример BottomSheetDialogFragment:
class MyBottomSheet : BottomSheetDialogFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
return inflater.inflate(R.layout.bottom_sheet_layout, container, false)
}
}
// Показ:
MyBottomSheet().show(parentFragmentManager, "TAG")
Используй BottomSheetDialog для простых UI, BottomSheetDialogFragment — для сложных сценариев с жизненным циклом.