Android BottomSheet对话框片段隐藏/显示行为

Android BottomSheet对话框片段隐藏/显示行为,android,bottom-sheet,Android,Bottom Sheet,我正在使用Android的新支持库24.0.0支持库的BottomSheetDialogFragment。 除了两件事外,一切都很好。 以前,当我使用普通的oldDialogFragment时,我使用以下两个属性 去除黑色阴影 dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent) 在外部区域中单击时防止碎片消除 dialog.requestWindowFeature(Window.FEATUR

我正在使用Android的新支持库24.0.0支持库的
BottomSheetDialogFragment
。 除了两件事外,一切都很好。 以前,当我使用普通的old
DialogFragment
时,我使用以下两个属性

  • 去除黑色阴影

    dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent)

  • 在外部区域中单击时防止碎片消除

    dialog.requestWindowFeature(Window.FEATURE\u NO\u TITLE)

    dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG\u NOT\u TOUCH\u model

    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL)
    
  • )

    如果底板出现碎片,则与上述内容等效。 下面是我的代码片段

    public class FullBottomSheetDialogFragment extends BottomSheetDialogFragment
           {
    
        private BottomSheetBehavior mBehavior;
    
        @NonNull
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
    
            View view = View.inflate(getContext(), R.layout.sheet, null);
    
            view.findViewById(R.id.fakeShadow).setVisibility(View.GONE);
            
            dialog.setContentView(view);
            mBehavior = BottomSheetBehavior.from((View) view.getParent());
            return dialog;
        }
    
        @Override
        public void onStart() {
            super.onStart();
            mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
        }
    
      
    
        
    }