簡體   English   中英

具有額外背景的Android警報對話框

[英]Android Alert Dialog with extra background

我最近將我的應用程序遷移到了Material Design,我用我的警報對話框偶然發現了這個問題:

對話框似乎有兩個背景,我不知道如何擺脫外部背景

我正在應用這樣的對話框樣式:

<item name="android:alertDialogTheme">@style/Theme.AlertDialog</item>

Theme.AlertDialog看起來像這樣:

<style name="Theme.AlertDialog" parent="Base.V14.Theme.AppCompat.Dialog">
    <item name="colorPrimary">@color/theme_primary</item>
    <item name="colorPrimaryDark">@color/theme_primary_dark</item>
    <item name="colorAccent">@color/theme_accent_dark</item>
</style>

這是在我的Kitkat設備上發生的,它在Lollipop上工作正常。 你能幫助我擺脫那個外在的背景嗎?

重點是:

<style name="Theme.AlertDialog" parent="Base.V14.Theme.AppCompat.Dialog">
    ...
    <item name="colorPrimary">@color/theme_primary</item>
    <item name="colorPrimaryDark">@color/theme_primary_dark</item>
    <item name="colorAccent">@color/theme_accent_dark</item>
    ...
    <item name="android:windowBackground">@android:color/transparent</item>
    ...
</style>

正如鐵人這里告訴我的那樣,一定要輸入正確的課程。

右: import android.support.v7.app.AlertDialog;

錯了: import android.app.AlertDialog;

在父級中使用主題

AlertDialog.THEME_DEVICE_DEFAULT_LIGHT

添加以下樣式。 你還必須自定義背景。

    <item name="android:windowFrame">@null</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowTitleStyle">@null</item>
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:background">@android:color/transparent</item>

使用以下也有效

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

您也可以使用在代碼中設置

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

這應該在setContentView之前

dialog.setContentView(R.layout.dialog);

我有完全相同的症狀但對我來說實際上我使用了標准框架AlertDialog(和它的Builder)而不是android.support.v7.app.AlertDialog,切換到使用支持庫中的一個修復了問題我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM