2016-07-27 2 views
0

Je veux être en mesure de remplir la zone à droite sans que cela affecte mon remplissage à gauche du pouceRemplissez progrès vers la droite de base

enter image description here

Mon progrès XML

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:id="@android:id/progress"> 
     <clip> 
      <shape> 
       <size android:height="90dp"/> 
       <stroke android:width="2dp" android:color="#00ef3c"/> 
       <solid android:color="#00ffffff" /> 
      </shape> 
     </clip> 
    </item> 
    <item android:id="@+id/background"> 
     <clip> 
      <shape> 
       <size android:height="90dp"/> 
       <solid android:color="#bd767676" /> 
      </shape> 
     </clip> 
    </item> 
</layer-list> 

de style personnalisé SeekBar

<style name="SeekbarCustom"> 
    <item name="android:indeterminate">false</item> 
    <item name="android:progressDrawable">@drawable/video_seek_bar_progress</item> 
    <item name="android:thumb">@drawable/video_seek_bar_thumb</item> 
    <item name="android:thumbOffset">8px</item> 
    <item name="android:focusable">true</item> 
</style> 

Répondre

0

Donc, je l'ai finalement résolu. Ne sachez pas si c'est la meilleure solution. Mais ça va le faire

Ce que j'ai fait, c'est que je laisse l'attribut SecondaryProgress agir comme remplisseur. Ensuite, j'ai mis sa gravité à partir du côté droit. Ensuite, je viens de créer un auditeur pour changer sa progression.

L'auditeur

binding.fragmentPostVideoSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
    @Override 
    public void onProgressChanged(SeekBar seekBar, int i, boolean b) { 
    int progress = seekBar.getProgress(); 
    seekBar.setSecondaryProgress(100 - progress); 
    } 
}); 

XML drawable

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/progress"> 
     <clip> 
      <shape> 
       <size android:height="90dp"/> 
       <stroke 
        android:width="2dp" 
        android:color="#00ef3c"/> 
       <solid android:color="#00ffffff"/> 
      </shape> 
     </clip> 
    </item> 
    <item android:id="@android:id/secondaryProgress"> 
     <clip android:gravity="right"> 
      <shape> 
       <size android:height="90dp"/> 
       <solid android:color="#b7797979"/> 
      </shape> 
     </clip> 
    </item> 
</layer-list>