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