2016-11-03 3 views
0

La mise en œuvre d'une barre de progression dans Android, en essayant d'obtenir une ombre sur la partie inférieure de la seule section remplie, comme ceci: niveau de l'API ProgressBarombre Barre de progression que sur une partie remplie

est KitKat et jusqu'à, mais je ne vous occupez pas d'une solution qui s'applique à LOLLIPOP et jusqu'à seulement. L'élévation ne semble pas fonctionner, ni la vue de la carte. des suggestions?

Répondre

3

Créez la forme xml suivante et placez-la comme arrière-plan progressBar.

** Le 10dp dans le xml suppose que la barre de progression est 20dp en hauteur et que vous voulez que l'ombre soit exactement la moitié de celle-ci.

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item android:id="@android:id/background"> 
      <layer-list> 
       <item android:bottom="10dp"> 
        <shape android:shape="rectangle"> 
         <solid android:color="@color/orange" /> 
        </shape> 
       </item> 
      </layer-list> 
     </item> 

     <item android:id="@android:id/progress"> 
      <clip> 
       <layer-list> 
        <item> 
         <shape android:shape="rectangle"> 
          <solid android:color="@color/green" /> 
         </shape> 
        </item> 
        <item android:top="10dp"> 
         <shape android:shape="rectangle"> 
          <gradient 
           android:angle="90" 
           android:endColor="@color/black" 
           android:startColor="@color/white" /> 
         </shape> 
        </item> 
       </layer-list> 
      </clip> 
     </item> 
    </layer-list>