Show and Hide Bottom Sheet Programmatically

Sophie picture Sophie · Feb 17, 2017 · Viewed 47.2k times · Source

I have implemented Bottom Sheet functionality within my activity in onCreate() using this solution and this library

   sheet = new BottomSheet.Builder(this, R.style.BottomSheet_Dialog)
        .title("New")
        .grid() // <-- important part
        .sheet(R.menu.menu_bottom_sheet)
        .listener(new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // TODO
    }
}).build();

Now, I would like to Show Bottom sheet, on click of button and in a same way want to hide bottom sheet on click of same button, if already Visible

Answer

Malek Hijazi picture Malek Hijazi · May 25, 2017

To close the BottomSheetDialogFragment from inside the fragment you can call:

dismiss();

To show or hide the BottomSheetDialogFragment from the activity you can simply call:

bottomSheetDialogFragment.dismiss();//to hide it
bottomSheetDialogFragment.show(getSupportFragmentManager(),tag);// to show it