Show and Hide Bottom Sheet Programmatically Show and Hide Bottom Sheet Programmatically android android

Show and Hide Bottom Sheet Programmatically


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 itbottomSheetDialogFragment.show(getSupportFragmentManager(),tag);// to show it


Inside your onClick() of the button use: sheet.show().

Then when you want to dismiss it, use sheet.dismiss();

Here below a possible solution:

BottomSheet sheet = new BottomSheet.Builder(...).build();Button button = (Button)findViewById(R.id.mybutton);button.setOnClickListener(new OnClickListener(){    @Override    public void onClick(View v) {        //you can use isShowing() because BottomSheet inherit from Dialog class        if (sheet.isShowing()){            sheet.dismiss();        } else {            sheet.show();            }    }});


For showing the Bottom Sheet use this code:

bottomSheetInfoBehavior.setHideable(false);bottomSheetInfoBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);

For Hiding the Bottom sheet use this code:

bottomSheetInfoBehavior.setHideable(true);bottomSheetInfoBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);