抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

一个背景全透明的 BottomSheetDialog 可以尝试的一些做法

代码:

class SomeDialog : BottomSheetDialogFragment() {

    override fun getTheme(): Int {
        return R.style.Theme_BottomSheetDialog
    }

}

Style:

<style name="Theme.BottomSheetDialog" parent="Theme.Material3.Light.BottomSheetDialog">
    <item name="bottomSheetStyle">@color/transparent</item>
    <item name="android:backgroundDimAmount">0</item>
    <item name="android:windowLightStatusBar" tools:ignore="NewApi">true</item>
</style>

注意:android:windowLightStatusBar 是用于处理 statusbar 白色背景下 dialog 弹出会让状态栏图标变白然后看不到的问题,而且仅在 API > 23 时有效。 parent 用 Material3 的能省不少麻烦,其他的不敢保证。

U1S1,官方这些东西很多年了也没几个靠谱的方案,网上各种八仙过海,试了一通大多无效,因为情况太过于复杂,所以这个也不一定对你有效。 Dialog 这东西做得是真烂。

参考:解决DialogFragment状态栏亮色问题


本站由以下主机服务商提供服务支持:

0条评论

发表评论