无法在 Android 13+ 中为 BottomSheetDialogFragment 设置 dimAmount

Cannot set dimAmount for BottomSheetDialogFragment in Android 13+

提问人:Артём Тарасов 提问时间:9/6/2023 更新时间:9/6/2023 访问量:77

问:

BottomSheetDialogFragment 只接受 1.0f(非透明黑色背景)的 dipAmount,0.99f 及以下是完全透明的背景,这似乎只影响 API 33+。样式 .xml 属性也不起作用。我应该怎么做才能将背景调暗设置为标准 0.32f?

我试过设置属性

<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">0.3</item>

不工作。然后在代码中

requireDialog().window?.apply {
    addFlags(FLAG_DIM_BEHIND)

    val lp = attributes
    lp?.dimAmount = 0.32f
    attributes = lp

    setDimAmount(0.99f)
}

它仍然是绝对透明的。但是,如果我改成

setDimAmount(1.0f)

那么 BottomSheetDialogFragment 的背景将绝对是黑色的。

安卓 android-alertdialog android-appcompat android-bottomsheetdialog android-api-33

评论


答: 暂无答案