1.设置透明背景(BottomSheetDialogFragment自带白色背景)
默认方法
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new BottomSheetDialog(getContext(), getTheme());
}
重写该方法
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new BottomSheetDialog(getContext(), R.style.translucent);
}
要设置的透明样式
<style name="translucent" parent="Theme.AppCompat.DayNight.Dialog">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
</style>
2.修改Dialog的宽度(默认百分之百的填充)
@Override
public void onStart() {
super.onStart();
WindowManager windowManager = getActivity().getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = getDialog().getWindow().getAttributes();
//关键
lp.width = (int) (display.getWidth() * 0.5);
lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
getDialog().getWindow().setAttributes(lp);
}