为什么循环progressBar背景没有显示?

时间:2016-05-13 09:09:24

标签: android android-progressbar

这是我的style_circular_fill.xml文件

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/progress">
    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270" >
        <shape
            android:innerRadiusRatio="3"
            android:shape="ring"
            android:thicknessRatio="14.0"
            android:useLevel="true">
            <gradient
                android:centerColor="#A9E2F3"
                android:endColor="#A9E2F3"
                android:startColor="#A9E2F3"
                android:type="sweep" />
        </shape>
    </rotate>
</item>

<item android:id="@android:id/background">
    <shape
        android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="14.0"
        android:useLevel="false">

        <gradient
            android:centerColor="#FFF"
            android:endColor="#FFF"
            android:startColor="#FFF"
            android:type="sweep" />

    </shape>
</item>

这是我的activity.xml文件中的进度条

<ProgressBar
    android:id="@+id/progressBar1"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:indeterminate="false"
    android:progressDrawable="@drawable/style_circular_fill"
    android:max="100"
    android:progress="10" />

结果如下:

enter image description here

我不知道为什么白色圆圈背景没有出现...... 在.xml文件中是否有任何错误?

2 个答案:

答案 0 :(得分:0)

您可以使用this库作为材料设计进度条。

例如:

<me.zhanghai.android.materialprogressbar.MaterialProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
app:mpb_progressStyle="horizontal"
style="@style/Widget.MaterialProgressBar.ProgressBar.Horizontal" />

答案 1 :(得分:0)

我已将您的选择器拆分为2个不同的drawable并为后台设置一个,另一个为progressDrawable,它似乎工作正常。

<ProgressBar
    android:id="@+id/progressBar1"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:indeterminate="false"
    android:progressDrawable="@drawable/style_circular_fill"
    android:background="@drawable/background_circular"
    android:max="100"
    android:progress="20" />

in style_circular_fill:

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="270"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="270" >
    <shape
        android:innerRadiusRatio="3"
        android:shape="ring"
        android:thicknessRatio="14.0"
        android:useLevel="true">
        <gradient
            android:centerColor="#A9E2F3"
            android:endColor="#A9E2F3"
            android:startColor="#A9E2F3"
            android:type="sweep" />
    </shape>
</rotate>
在background_circular中

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:innerRadiusRatio="3"
    android:shape="ring"
    android:thicknessRatio="14.0"
    android:useLevel="false">

    <gradient
        android:centerColor="#FFF"
        android:endColor="#FFF"
        android:startColor="#FFF"
        android:type="sweep" />

</shape>