Window
的背景,并设置透明颜色。@Override
public @NotNull Dialog onCreateDialog(Bundle savedInstanceState){
BottomSheetDialog dialog = (BottomSheetDialog) super.onCreateDialog(savedInstanceState);
Window window = dialog.getWindow();
window.setBackgroundDrawableResource(R.color.colorPrimaryTransparent);
return dialog;
}
dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.parseColor("#6680bebe")))
Dialog
固有的调暗。我认为没有什么简单的方法可以改变那个颜色。然而,BottomSheetDialog
覆盖整个屏幕,所以你应该能够将其背景设置为任何你喜欢的颜色;例如,在你的BottomSheetDialogFragment
子类中,https://drive.google.com/file/d/1vItTnGv89Dqnz9EueBIp0s4Jpyd2ctpN/view?usp=drivesdk。我现在无法真正测试它。`dimAmount`设置有些可选,因为默认的调暗应该只是作为一个alpha乘数器,我想。你可以试着玩一下。 - Mike M.dimAmount = 0f
,或者getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
- 并使用背景颜色和透明度来控制所有内容。我只是提供了一些信息,方便您参考。没有它可能更容易,也更好。 - Mike M.dimAmount = 0.1f
并不能将背景颜色的透明度设置为10%,正如你所期望的那样。是的,0代表完全透明,1代表完全不透明,但是一些非常小的数字并不是真正的透明,它仍然相当不透明,因此无法获得例如10%的透明度。看起来这是一个加权比例。 - Jordan H