Bazel is happier if Java/Java test roots are named 'java' and 'javatests', and
this will mean that once we create a BUILD file for
android/support/design/{widget,internal}/ we'll no longer need a custom package
specified in our build (which tends to cause build problems that manifest quite
weirdly). This commit doesn't attempt to refactor the build at all yet, and is
just a pure move.
PiperOrigin-RevId: 178060739
2.9 KiB
Modal Bottom Sheets
BottomSheetDialogFragment is a thin layer on top of the regular support
library Fragment that renders your fragment as a modal bottom sheet,
fundamentally acting as a dialog.
Modal bottom sheets render a shadow on the content below them to indicate that they are modal, essentially a dialog. If the content outside of the dialog is tapped then the bottom sheet is dismissed. Modal bottom sheets can be dragged vertically and dismissed by completely sliding them down.
Note: To implement non-modal Persistent bottom sheets use BottomSheetBehavior in conjunction with a CoordinatorLayout.
Design & API Documentation
Usage
- Subclass
BottomSheetDialogFragment - Override
onCreateView. - Use one of the two versions of
showto display the dialog. NoticeBottomSheetDialogFragmentis a subclass of AppCompatFragment, which means you need to useActivity.getSupportFragmentManager().
Note: Don't call setOnCancelListener or setOnDismissListener on a
BottomSheetDialogFragment, instead you can override onCancel(DialogInterface)
or onDismiss(DialogInterface) if necessary.
Related Concepts
BottomSheetDialogFragments are a more modern version of
Dialogs. They have
a nicer-looking entrance animation and since they are pinned to the bottom they
may feel easier to use on larger devices.
BottomSheetDialogFragments look very similar to the effects of
BottomSheetBehavior but the latter is not modal and
requires a CoordinatorLayout.