在BottomSheetDialogFragment中使用onCreateDialog方法创建Dialog并返回,在该Dialog中调用onCreateView创建View,然后重写onStart方法,将BottomSheetDialogFragment的Behavior设为STATE_HIDDEN。
示例代码:
public class MyBottomSheetDialogFragment extends BottomSheetDialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new BottomSheetDialog(requireContext(), getTheme());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.my_bottom_sheet_layout, container, false);
}
@Override
public void onStart() {
super.onStart();
BottomSheetBehavior behavior = getDialog().getWindow().getDecorView().findViewById(com.google.android.material.R.id.design_bottom_sheet);
behavior.setState(BottomSheetBehavior.STATE_HIDDEN);
}
}