BottomSheetDialogFragmentの使い方
あまりまとまってないようなのでメモ。
昔は setupDialog
をオーバーライドしていたが、サポートライブラリが @RestrictTo(LIBRARY_GROUP)
を付けるようになったので警告が出る。代わりに、 onCreateDialog
をオーバーライドして中でビューを作成するのがよさそう。
class MyBottomSheet : BottomSheetDialogFragment() { companion object { // Fragmentと同様、インスタンス生成はstaticメソッドで行う fun newInstance(): MyBottomSheet = MyBottomSheet() } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val dialog = super.onCreateDialog(savedInstanceState) // dialogに、自分で作ったビューをセットする val inflater = LayoutInflater.from(context) val binding: MyBottomSheetBinding = MyBottomSheetBinding.inflate(inflater) dialog.setContentView(binding.root) return dialog } }