3

我正在使用 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)
    

;

在底部片材碎片的情况下,与上述内容相同的是什么。下面是我的 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);
    }

  

    
}
4

0 回答 0