Android Api 29 中的 AlertDialog 用于在显示时使屏幕变暗,但在 Api 34 中它会在对话框周围创建阴影

nit*_*nam 6 android dialog android-alertdialog kotlin

Android Api 29 中的 AlertDialog 用于在显示对话框时调暗屏幕(对话框除外),但在 Api 34 中,它会在对话框周围创建阴影。

Android 中的 AlertDialog 用于像这样调暗屏幕 在此处输入图像描述

但现在它只是在盒子周围添加阴影,就像这样 在此处输入图像描述

我已经尝试过dialog.window?.setDimamount()方法我已经尝试过github库

但它们都不起作用

Kotlin 代码

    private fun showPopup(){
        val dialogBuilder: AlertDialog.Builder = AlertDialog.Builder(this)
        val dialog = dialogBuilder.create()
        val inflater = this.layoutInflater
        val dialogView: View = inflater.inflate(R.layout.popup_sharing_number, null)
        dialog.setView(dialogView)
        dialog.show()
    }
Run Code Online (Sandbox Code Playgroud)

布局代码

<!-- popup_layout.xml -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="@drawable/background_alert_box"
    android:padding="10dp">


    <ImageView
        android:layout_marginTop="5dp"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:src="@drawable/icon_alert"
        android:layout_gravity="center"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Why do I need to share my number?"
        android:textSize="26sp"
        android:textAlignment="center"
        android:textStyle="bold"
        android:textColor="@color/primaryColor"/>


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:padding="16dp"
        android:textAlignment="center"
        android:text="For security reasons, we only use phone number as an authentication method. This counts for Students, Parents and Tutors. We will never charge via phone number"
        android:textColor="#7E8082"
        android:textSize="20sp" />

    <Button
        android:id="@+id/btnClose"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/white"
        android:text="Close"
        android:background="@drawable/button_primary"
        android:textSize="16sp"
        android:layout_gravity="center_horizontal"
        android:padding="12dp"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我希望它在所有版本中都变暗

Tal*_*tle 2

这是一个模拟器渲染错误,现已于 2024 年 1 月修复。现在对话框可以正确渲染暗淡的背景。https://issuetracker.google.com/issues/289117017

API 34 v8a 模拟器修订版 11、模拟器 33.1.23 中存在错误

API 34 v8a 模拟器修订版 12、模拟器 33.1.24 中修复的错误