Android BottomSheetDialogFragment隐藏/显示行为

时间:2016-06-24 09:58:19

标签: android bottom-sheet

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

  1. 删除黑色阴影。

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

  2. 在外部区域点击时防止片段被解雇。

    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

    dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL

    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL)
    
  3. 在底页片段的情况下,与上述内容相同的是什么。 下面是我的BottomSheetFragment代码。

    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);
        }
    
    
    
    
    }
    

0 个答案:

没有答案