使用扩展Theme.Dialog的自定义主题删除Dialog上的灰色背景

时间:2015-09-27 10:35:03

标签: android

我正在使用Accengage(Ad4Push),我想自定义其对话框。 Accengage团队表示可以使用自定义主题更改对话框样式,我就这样做了。我可以更改textSize,textColor,windowBackground但我仍然在Dialog上看到灰色。请参阅我的照片Here。 (我没有足够的声誉来发布图片)

我想将所有背景对话框更改为白色,但我不知道我可以将此属性用于此目的。

这是我正在使用的属性。

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
        <item name="android:background">@color/background_holo_light</item>
        <item name="android:divider">@color/background_holo_light</item>
        <item name="android:dividerHorizontal">@null</item>
        <item name="android:dividerVertical">@null</item>
        <item name="android:textColor">@android:color/black</item>
        <item name="android:textColorPrimary">@android:color/black</item>
        <item name="android:buttonBarButtonStyle">@style/CustomDialogTheme.Button</item>
        <item name="android:padding">2dp</item>
        <item name="android:windowBackground">@android:color/transparent</item>
</style>

<style name="CustomDialogTheme.Button">
        <item name="android:background">@color/background_dark</item>
        <item name="android:textColor">@color/background_holo_light</item>
        <item name="android:layout_margin">8dp</item>
        <item name="android:layout_marginLeft">16dp</item>
        <item name="android:padding">8dp</item>
        <item name="android:gravity">center</item>
</style>

如何使对话框的背景变白。 (我只能用自定义样式更改样式,不能以编程方式更改,因为此对话框来自第三方库)

3 个答案:

答案 0 :(得分:1)

您的问题已经回答here

链接中的代码:

将此添加到您的styles.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.DoNotDim" parent="android:Theme">
        <item name="android:backgroundDimEnabled">false</item>
    </style>
</resources>

然后将主题应用于您的活动:

<activity android:name=".SampleActivity" android:theme="@style/Theme.DoNotDim">

答案 1 :(得分:0)

在主题中添加此行(感谢AAA

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

完整风格:

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>  

    <item name="android:background">@color/background_holo_light</item>
    <item name="android:divider">@color/background_holo_light</item>
    <item name="android:dividerHorizontal">@null</item>
    <item name="android:dividerVertical">@null</item>
    <item name="android:textColor">@android:color/black</item>
    <item name="android:textColorPrimary">@android:color/black</item>
    <item name="android:buttonBarButtonStyle">@style/CustomDialogTheme.Button</item>
    <item name="android:padding">2dp</item>
</style>

答案 2 :(得分:0)

在onCreate中添加此行。

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

结帐这篇文章。 Dialog with transparent background in Android