ProgressBar Circle在android L(API 21)上没有显示进度

Jon*_*n S 14 android android-progressbar android-5.0-lollipop

我有一个循环的ProgressBar来计算时间.它完美适用于kitkat之前和之前,但在Android L上它总是显示一个完整的圆圈,无论我设置了什么进展.

图片

layout.xml

<ProgressBar
                android:id="@+id/progressBar1"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:indeterminate="false"
                android:max="200"
                android:progress="100"
                android:progressDrawable="@drawable/progresscircle" />
Run Code Online (Sandbox Code Playgroud)

progresscircle.xml

 <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item>
        <shape
            android:innerRadiusRatio="3.4"
            android:shape="ring"
            android:thicknessRatio="6.0" >
            <solid 
                android:color="#ffffff" />
        </shape>
    </item>
        <item>
            <rotate
                android:drawable="@drawable/progress_particle"
                android:fromDegrees="0"
                android:pivotX="50%"
                android:pivotY="50%"
                android:toDegrees="360" />
        </item>

    </layer-list>
Run Code Online (Sandbox Code Playgroud)

ala*_*anv 29

标签下的android:useLevel的默认值在L预览版本中错误地更改为false.您可以通过明确地将其设置为true来解决此问题.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape
            ...
            android:useLevel="true">
            <solid
                ...
Run Code Online (Sandbox Code Playgroud)

  • 我担心高手,官方更新,翻过来也有这个问题 (2认同)