Android Dialog弹出时背景全透明

时间:2025-01-31 07:12:58

1:style文件设置

<style name="dialog" parent="@android:style/">
    <!-- 是否有边框 -->
    <item name="android:windowFrame">@null</item>
    <!--是否在悬浮Activity之上  -->
    <item name="android:windowIsFloating">true</item>
    <!--标题  -->
    <item name="android:windowNoTitle">true</item>
    <!--阴影  -->
    <item name="android:windowIsTranslucent">true</item>
    <!--透明背景-->
    <item name="android:background">@android:color/transparent</item>
    <!--窗口背景透明-->
    <item name="android:windowBackground">@android:color/transparent</item>
    <!--弹窗背景是否变暗-->
    <item name="android:backgroundDimEnabled">false</item>
</style>

 

<!--窗口背景透明-->

<item name="android:windowBackground">@android:color/transparent</item>

这个属性一定要加,否则在你的dialog周围会有一圈黑色较重的背景,因为你没有设置窗口bei'背景透明(windowBackground).

Dialog全屏设置:

1:(隐藏状态栏)参考上一篇:/u013908616/article/details/81396497

2:取消dialog自带的padding造成的边框,可添加如下代码

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        (savedInstanceState);
        Window window = getWindow();
        ().setPadding(0, 0, 0, 0);
         layoutParams = ();
         = .MATCH_PARENT;
         = .MATCH_PARENT;
        (layoutParams);
    }