如何在Android中仅更改ProgressDialog的背景颜色而不影响边框?

4
我用以下代码改变了进度对话框的背景颜色,但是外边框的颜色也发生了改变,如下图所示。我只想更改对话框内部的颜色。
<style name="StyledDialog" parent="@android:style/Theme.Panel">
    <item name="android:background">#083044</item>
</style>

根据更改ProgressDialog的背景问题中给出的答案:
<style name="StyledDialog" parent="@android:style/Theme.Dialog">
    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
    <item name="android:textColorPrimary">#000000</item>
</style>
<style name="CustomAlertDialogStyle">
    <item name="android:bottomBright">@color/background</item>
    <item name="android:bottomDark">@color/background</item>
    <item name="android:bottomMedium">@color/background</item>
    <item name="android:centerBright">@color/background</item>
    <item name="android:centerDark">@color/background</item>
    <item name="android:centerMedium">@color/background</item>
    <item name="android:fullBright">@color/background</item>
    <item name="android:fullDark">@color/background</item>
    <item name="android:topBright">@color/background</item>
    <item name="android:topDark">@color/background</item>
</style>

这段代码能够完美地设置背景颜色。但是,由于对话框的颜色和活动的背景颜色相同,所以它看起来像是透明的,没有边框。我想要像之前一样有一些边框。

enter image description here


4
https://dev59.com/jmYr5IYBdhLWcg3w29pI - M D
我现在有一个完美的答案。但是这个问题被标记为重复,我不能添加答案。稍后让我添加。 - Ram Babu
2个回答

5
 <style name="CustomAlertDialogStyle">
    <item name="android:bottomBright">@color/transparent</item>
    <item name="android:bottomDark">@color/transparent</item>
    <item name="android:bottomMedium">@color/transparent</item>
    <item name="android:centerBright">@color/transparent</item>
    <item name="android:centerDark">@color/transparent</item>
    <item name="android:centerMedium">@color/transparent</item>
    <item name="android:fullBright">@color/transparent</item>
    <item name="android:fullDark">@color/transparent</item>
    <item name="android:topBright">@color/transparent</item>
    <item name="android:topDark">@color/transparent</item>
</style>

<style name="StyledDialog" parent="@android:style/Theme.Panel">
    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
    <item name="android:background">@color/darkblue</item>
</style>

这段代码 <item name="android:background">@color/darkblue</item> 可以使背景颜色完美。但是,由于对话框颜色和活动的背景颜色相同,它看起来像透明的,没有白色边框。我从你的答案中得出了另一个答案,并且运行得很完美。谢谢。 - Ram Babu

2
试着这样做。
<style name="StyledDialog" parent="@android:style/Theme.Panel">
    <item name="android:background">@android:color/transparent</item>
    <item name="android:alertDialogStyle">@style/CustomStyle</item>
</style>

<style name="CustomStyle">
    <item name="android:bottomBright">#083044/item>
    <item name="android:bottomDark">#083044</item>
    <item name="android:bottomMedium">#083044</item>
    <item name="android:centerBright">#083044</item>
    <item name="android:centerDark">#083044</item>
    <item name="android:centerMedium">#083044</item>
    <item name="android:fullBright">#083044</item>
    <item name="android:fullDark">#083044</item>
    <item name="android:topBright">#083044</item>
    <item name="android:topDark">#083044</item>
</style>

这段代码让背景色变得完美。但是由于对话框颜色和活动的背景色相同,它看起来像是透明的而没有白色边框。我从您的答案中得到了另一个答案,并且运行得很完美。谢谢。 - Ram Babu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接