自定义进度绘图不适用于Android棒棒糖(API 21)设备

自定义进度绘图不适用于Android棒棒糖(API 21)设备,android,android-5.0-lollipop,Android,Android 5.0 Lollipop,我有一个进度表,在运行Android棒棒糖的设备上不能正常工作 M上的截图 棒棒糖截图 圆圈\u百分比\u drawable.xml 此绘图表用作ProgressView的背景,如下所示: 在运行安卓M、KitKat和Jellybean的设备上,渲染为65%的圆圈。然而,如果在Android棒棒糖(API 21)上运行相同的代码,则圆圈显示为100% 此处提供完整的源代码:在循环progressbar xml中添加android:useLevel=true“ <?xml ve

我有一个进度表,在运行Android棒棒糖的设备上不能正常工作

M上的截图

棒棒糖截图

圆圈\u百分比\u drawable.xml


此绘图表用作ProgressView的背景,如下所示:

在运行安卓M、KitKat和Jellybean的设备上,渲染为65%的圆圈。然而,如果在Android棒棒糖(API 21)上运行相同的代码,则圆圈显示为100%


此处提供完整的源代码:

在循环progressbar xml中添加
android:useLevel=true“

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

    <shape android:shape="oval"
           android:useLevel="true">
      <solid android:color="@color/colorTranslucentBlack"/>
    </shape>

  </item>

  <item android:id="@android:id/progress">

    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0"
          android:useLevel="true">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>

  </item>

  <item android:id="@android:id/secondaryProgress">

    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0"
          android:useLevel="true">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>

  </item>

</layer-list>


在你的形状中尝试
android:useLevel=true“
tag@AKSiddique这就解决了问题。请添加那个作为答案,这样我就可以接受它。发布我的评论作为答案。接受它。非常感谢。我一直很高兴:)我在这个问题上花了很多时间,现在它很有效。你还能解释为什么吗?
<ProgressBar
      android:id="@+id/circle_progress"
      style="?android:attr/progressBarStyleHorizontal"
      android:layout_width="70dp"
      android:layout_height="70dp"
      android:gravity="center"
      android:progress="65"
      android:indeterminate="false"
      android:progressDrawable="@drawable/circle_percentage_drawable"
      />
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item>

    <shape android:shape="oval"
           android:useLevel="true">
      <solid android:color="@color/colorTranslucentBlack"/>
    </shape>

  </item>

  <item android:id="@android:id/progress">

    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0"
          android:useLevel="true">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>

  </item>

  <item android:id="@android:id/secondaryProgress">

    <rotate
        android:fromDegrees="270"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toDegrees="270">
      <shape
          android:innerRadiusRatio="2.5"
          android:shape="ring"
          android:thicknessRatio="25.0"
          android:useLevel="true">
        <gradient
            android:centerColor="@android:color/holo_red_dark"
            android:endColor="@android:color/holo_red_dark"
            android:startColor="@android:color/holo_red_dark"
            android:type="sweep"/>
      </shape>
    </rotate>

  </item>

</layer-list>