2017-05-28 28 views
1

我想解决只出现在Android 5.1和以上有关循环ProgressBar的问题:背景属性在Android 5.0上完美工作,但它不显示在其他版本。你知道它为什么会发生? 这里是我的代码:ProgressBar背景不显示在Android 5.1及以上

pbar.xml

<?xml version="1.0" encoding="utf-8" ?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/background"> 
    <shape 
     android:innerRadiusRatio="3" 
     android:shape="ring" 
     android:thicknessRatio="7.0"> 
     <solid android:color="#A6A6A6"/> 
    </shape> 
    </item> 
    <item android:id="@android:id/progress"> 
    <shape 
     android:innerRadiusRatio="3" 
     android:shape="ring" 
     android:useLevel="true" 
     android:thicknessRatio="7.0"> 
     <solid android:color="#3CECDE"/> 
    </shape> 
    </item> 
</layer-list> 

layout.xml

<RelativeLayout 
    android:minWidth="25px" 
    android:minHeight="25px" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/relative_pbram" 
    android:layout_marginRight="50dp"> 
    <ProgressBar 
     style="?android:attr/progressBarStyleHorizontal" 
     android:layout_width="60dip" 
     android:layout_height="60dip" 
     android:layout_marginTop="20dp" 
     android:id="@+id/pb_ram" 
     android:layout_gravity="center" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:progress="0" 
     android:max="100" 
     android:rotation="-90" 
     android:rotationY="180" 
     android:progressDrawable="@drawable/pbar" /> 
</RelativeLayout> 

这里是在Android 7.0的进度和5.0分别

Android 7.0Android 5.0

谢谢你提前。

回答

0

您必须在第一个形状(背景)中设置android:useLevel="false"。你的第二个形状设置正确android:useLevel="true"

的Nexus 5X的Android 7.1

enter image description here

+0

好了,现在它工作正常,非常感谢 –