gpt4 book ai didi

android - 更改 ProgressDialog 的背景

转载 作者:IT老高 更新时间:2023-10-28 22:05:26 27 4
gpt4 key购买 nike

我正在尝试更改 ProgressDialog 的背景。我在网上搜索并找到了各种建议(如 How to remove border from Dialog? ),但我无法替换 ProgressDialog 的实际背景。相反,我在对话框后面看到了另一个背景(黄色):

Styled Dialog

我的风格:

<style name="StyledDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/panel_background</item>
</style>

启动ProgressDialog的代码:

ProgressDialog dialog = new ProgressDialog(this, R.style.StyledDialog);
dialog.setTitle("The title");
dialog.setMessage("The message.");
dialog.show();

drawable 与 SDK 中包含的 9 补丁相同,我只是更改了颜色。我将非常感谢一些提示我做错了什么。

最佳答案

Aleks G 的评论(问题下方)指出了正确的方向。对话框的外观由单独的样式 (android:alertDialogStyle) 定义。但是不能将样式直接应用于 ProgressDialog。现在,我如何获得黄色背景?

第一步:定义一个继承自Theme.Dialog的主题:

<style name="MyTheme" parent="@android:style/Theme.Dialog">
<item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
<item name="android:textColorPrimary">#000000</item>
</style>

在那里,您可以定义诸如 whole 窗口的背景颜色(问题中的黄色)、字体颜色等。真正重要的是 android:alertDialogStyle 。此样式控制问题中黑色区域的外观。

第 2 步:定义 CustomAlertDialogStyle:

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

这会将问题中的黑色区域设置为黄色。

第 3 步:将 MyTheme 应用到 ProgressDialog不是 CustomAlertDialogStyle:

ProgressDialog dialog = new ProgressDialog(this, R.style.MyTheme);

结果如下:

Styled ProgressDialog

同样的过程也适用于 AlertDialog(它是 ProgressDialog 的父类)。

关于android - 更改 ProgressDialog 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13347539/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com