【问题标题】:How do I change only background color of ProgressDialog without affecting border in Android? [duplicate]如何仅更改 ProgressDialog 的背景颜色而不影响 Android 中的边框? [复制]
【发布时间】:2015-01-22 04:24:02
【问题描述】:

我使用下面的代码来改变进度对话框的背景。但是外框的颜色也会发生如下变化。我只想在对话框内进行更改。

<style name="StyledDialog" parent="@android:style/Theme.Panel">
    <item name="android:background">#083044</item>
</style>

根据这个问题的答案Change background of 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>

此代码提供完美的背景颜色。但是因为,对话框颜色和活动的背景颜色是相同的。它看起来像没有边框的透明。我想要一些像以前一样的边框。

【问题讨论】:

标签: android android-fragments


【解决方案1】:
 <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>

【讨论】:

  • 这段代码 ​​@color/darkblue 使背景颜色完美。但是因为,对话框颜色和活动的背景颜色是相同的。它看起来像透明的,没有白色边框。我从您的答案中得出了另一个答案,并且效果很好。谢谢。
【解决方案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>

【讨论】:

  • 这段代码使背景颜色完美。但是因为,对话框颜色和活动的背景颜色是相同的。它看起来像透明的,没有白色边框。我从您的答案中得出了另一个答案,并且效果很好。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 1970-01-01
相关资源
最近更新 更多