如何在Android中更改ProgressDialog Spinner的颜色?

8

我正在尝试为我的Activity添加一个自定义的ProgressDialog。我成功地更改了ProgressDialog的字体和背景颜色,但我不知道如何在不使用小部件的情况下更改旋转器的颜色。有人能帮帮我吗?

这是我的Activity代码:

 myPd_bar=new ProgressDialog(Ratings.this,R.style.Theme_MyDialog);
 myPd_bar.setMessage("Loading....");
 myPd_bar.setTitle(null);
 myPd_bar.show();

这是我的styles.xml代码:
<style name="Theme.MyDialog" parent="@android:style/Theme.Dialog">
    <item name="android:textColor">#daac56</item>
    <item name="android:background">#160203</item>
    <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>
</style>

这是当前的输出结果:

在此输入图片描述


参考这个链接可能会有帮助:https://dev59.com/O2435IYBdhLWcg3wkBBe - Aravin
@Aravinth 这里我没有使用任何小部件。我使用了ProgressDialog。 - anuruddhika
更好的答案是https://dev59.com/O2435IYBdhLWcg3wkBBe#22072093,具体问题是如何在ProgressDialog中使用Spinner(进度条)。 - Juvs
3个回答

2
你需要找到进度条的资源并使用Photoshop或其他图像编辑程序手动更改颜色。如果你真的想为你的进度条添加样式,我建议你看看HoloEverywhere库,它可以给你的应用程序添加Android 4.0 Holo风格,并兼容较旧版本的Android,看起来非常不错。
顺便说一句,Android设计指南表示,在进度条旁边添加“正在加载…”文本是不必要的。进度条已足以向用户指示你的应用正在加载。他们还建议在应用程序中嵌入进度条,而不是在对话框中显示。

1
https://developer.android.com/design/building-blocks/progress.html - Cocorico

1

由于所有 Android 版本(2.3、4.0 等)的旋转器都不同,所以您无法...

如果您想更改旋转器,

  1. 您必须创建自己的旋转器,可能是 .gif 格式。

或者

  1. 尝试设置透明度并更改背景颜色。

但是为什么要更改旋转器?这真的很重要吗?


1
根据我的设计,我认为它应该与我的应用程序定制主题相匹配。这就是为什么我尝试了一下。 - anuruddhika
好的,但是如果你看一下Android中的所有应用程序,你总是会看到基本的Spinner。也许有一个原因...就我个人而言,我从来没有见过“自定义”的Spinner。 - Cocorico
也许你可以看看这个:https://developer.android.com/design/building-blocks/progress.html - Cocorico

1

修改旋转器的颜色并不容易。

如果你想要在旋转器上使用不同的颜色,最简单的方法是创建自定义的ProgressDialog(从当前ProgressDialog扩展)。然后进行自定义动画。


1
我对此一无所知。你能解释一下吗? - anuruddhika

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