如何使android中对话框的背景透明?

Posted

技术标签:

【中文标题】如何使android中对话框的背景透明?【英文标题】:How can I make the background of my dialog in android transparent? 【发布时间】:2022-01-23 22:58:16 【问题描述】:

我正在尝试使对话框的背景透明。我希望进度条显示在我的活动前面。不幸的是,背景始终是白色的。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/loading_cont"
android:layout_
android:layout_
android:orientation="horizontal"
android:backgroundTint="#00000000"
android:background="@android:color/transparent"
>

<RelativeLayout
    android:id="@+id/loading_dialog_container"
    android:layout_
    android:layout_
    android:backgroundTint="#00000000"
    android:background="@android:color/transparent"
    >

    <ProgressBar
        android:id="@+id/login_progress"
        android:layout_
        android:layout_
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true" >
    </ProgressBar>

</RelativeLayout>

【问题讨论】:

【参考方案1】:

创建一个名为 transparent.xml 的新 Drawable Resource file

transparent.xml

<shape 
      android:shape="rectangle"
      xmlns:android="http://schemas.android.com/apk/res/android">
</shape>

现在设置android:background="@drawable/transparent"

【讨论】:

我试过了。我在 LinearLayout、Relativelayout 和 ProgressBar 中设置了 android:background="@drawable/transparent"。它仍然保持白色。【参考方案2】:

在初始化对话框的位置添加此代码

dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);

或者您也可以添加此代码

 dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));

【讨论】:

以上是关于如何使android中对话框的背景透明?的主要内容,如果未能解决你的问题,请参考以下文章

Android中具有透明背景的对话框

如何使 Android BottomNavigationView 背景透明?

如何使 SurfaceView 具有透明背景?

如何删除对话框外的透明深色背景

jQuery UI 对话框 - 仅使用背景不透明度而不使字体变灰?

带有圆角和透明背景的 Android 自定义警报对话框