alb alb -4 years ago 146
Java Question

Can't hide Bottom Sheet, Android

I'm having problems with my because when I open the activity it is on, blocking the view
enter image description here

This happens, I think, because of the XML attribute declaring the with 350dp of height:

<android.support.v4.widget.NestedScrollView
android:id="@+id/bottom_sheet"
android:layout_width="match_parent"
android:layout_height="350dp"
android:background="?android:attr/windowBackground"
android:clipToPadding="true"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">


The thing is, I can't change that value to 0dp because the next time when I try to open the , there is no , because the height is 0dp, so it won't show anything.
My question is, is there a way to declare the off? (I've tried to setState to STATE_COLLAPSED but didn't work).
Bellow is the java code that interacts with the Bottom Sheet.
JAVA:

View bottomSheet = findViewById( R.id.bottom_sheet );
mBottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_COLLAPSED) {
//mBottomSheetBehavior.setPeekHeight(0);
//mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
//mBottomSheetBehavior.isHideable();
}
}

@Override
public void onSlide(View bottomSheet, float slideOffset) {

}
});

Answer Source

Write this:

    mBottomSheetBehavior.setPeekHeight(0);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download