我正在使用Android的新支持库24.0.0支持库BottomSheetDialogFragment
。
一切都很好,除了两件事。
以前,当我使用普通的DialogFragment
时,我使用了以下两个属性
删除黑色阴影。
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent)
;
在外部区域点击时防止片段被解雇。
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);
}
}