2017-05-28 94 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

好了,現在它工作正常,非常感謝 –