【发布时间】:2016-11-01 10:48:12
【问题描述】:
我想创建一个具有自定义颜色的ProgressDialog,但我想保留圆形的原始格式。我也不想更改颜色重音,因为它还会更改其他组件颜色,例如 Switch...
请帮我解决这个问题。
谢谢。
【问题讨论】:
标签: android android-layout android-studio
我想创建一个具有自定义颜色的ProgressDialog,但我想保留圆形的原始格式。我也不想更改颜色重音,因为它还会更改其他组件颜色,例如 Switch...
请帮我解决这个问题。
谢谢。
【问题讨论】:
标签: android android-layout android-studio
您可以为此使用自定义drawable。用您的颜色替换colorAccent 和其他颜色。
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="1440" >
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="15"
android:useLevel="false" >
<size
android:height="75dip"
android:width="75dip" />
<gradient
android:angle="0"
android:endColor="@color/colorAccent"
android:centerColor="@color/colorAccentCenter"
android:startColor="@color/colorAccentCenter"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
【讨论】:
ProgressBar 而不是ProgressDialog
ProgressDialog的问题
您可以在 v21 文件夹下的 style.xml 中编写样式,如下所示:
<style name="ProgressBar" parent="Base.Widget.AppCompat.ProgressBar">
<item name="android:colorAccent">@color/red</item>
</style>
并像这样使用它
ProgressDialog myProgressDialog = new ProgressDialog(MyActivity.this);
myProgressDialog.setProgressStyle(R.style.ProgressBar)
myProgressDialog.show();
【讨论】: