I have the following test bottom sheet implementation.
When I set peehHight to a value less than 500, it works. After a certain value, any increase in clearance height will not change the way the bottom sheet expands. He just stays there only by hand. How we install peekHeight programmatically to ensure that the bottom sheet is automatically expanded to the peeking height.

bottom_sheet_dialog_main
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/locUXCoordinatorLayout" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/locUXView" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:orientation="vertical" app:behavior_hideable="false" app:behavior_peekHeight="0dp" app:layout_behavior="@string/bottom_sheet_behavior"> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="1 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="2 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="3 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="4 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="5 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="6 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="7 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="8 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="9 Value" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="First Value" /> </LinearLayout> </android.support.design.widget.CoordinatorLayout>
Java code
public class MyBottomSheetDialogFragment extends BottomSheetDialogFragment { private static BottomSheetBehavior bottomSheetBehavior; private static View bottomSheetInternal; private static MyBottomSheetDialogFragment INSTANCE; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { getDialog().setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface dialog) { BottomSheetDialog d = (BottomSheetDialog) dialog; CoordinatorLayout coordinatorLayout = (CoordinatorLayout)d.findViewById(R.id.locUXCoordinatorLayout); bottomSheetInternal = d.findViewById(R.id.locUXView); bottomSheetBehavior = BottomSheetBehavior.from(bottomSheetInternal); bottomSheetBehavior.setPeekHeight(bottomSheetInternal.getHeight()); bottomSheetInternal.requestLayout(); coordinatorLayout.getLayoutParams().height = bottomSheetInternal.getHeight(); Toast.makeText(getActivity(), "Height is" + bottomSheetInternal.getHeight() + " " + coordinatorLayout.getLayoutParams().height, Toast.LENGTH_LONG).show(); } }); INSTANCE = this; return inflater.inflate(R.layout.bottom_sheet_dialog_main, container, false); } }
java android android-support-library android-support-design bottom-sheet
Nandish a
source share