I need the BottomSheet to stop at two positions. I have the following code for BottomSheet.
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> .... </RelativeLayout> <FrameLayout android:id="@+id/bottom_sheet" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_behavior="android.support.design.widget.BottomSheetBehavior"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" android:minHeight="1000dp" android:orientation="vertical"> .... </LinearLayout> </ScrollView> </FrameLayout> </android.support.design.widget.CoordinatorLayout> and
View bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet); final BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet); behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { // React to state change Log.e("onStateChanged", "onStateChanged:" + newState); if (newState == BottomSheetBehavior.STATE_EXPANDED) { behavior.setPeekHeight(600); showAgain.setVisibility(View.GONE); mMap.getUiSettings().setScrollGesturesEnabled(false); } else if (newState == BottomSheetBehavior.STATE_COLLAPSED) { if (behavior.getPeekHeight() == 600) { behavior.setState(BottomSheetBehavior.STATE_COLLAPSED); behavior.setPeekHeight(80); mMap.getUiSettings().setScrollGesturesEnabled(false); } else if (behavior.getPeekHeight() == 80) { showAgain.setVisibility(View.VISIBLE); mMap.getUiSettings().setScrollGesturesEnabled(true); } } } @Override public void onSlide(@NonNull View bottomSheet, float slideOffset) { // React to dragging events Log.e("onSlide", "onSlide " + slideOffset); } }); behavior.setPeekHeight(600); This code works fine except one thing. The very first time I have to scroll up the BottomSheet and then I can down scroll it. I cannot directly down scroll the sheet.
Any help will be appreciated.