2014-11-18 12 views
35

Questo è il mio SeekBar:personalizzata SeekBar pollice non trasparente su Lollipop API21

<SeekBar 
    android:id="@+id/seek1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:progressDrawable="@drawable/style_progressbar" 
    android:thumb="@drawable/style_progressbar_circle" 
    android:progress="20" /> 

Questo è style_progressbar.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/background"> 
     <shape android:shape="rectangle" > 
      <corners android:radius="5dp" /> 
      <gradient 
       android:angle="270" 
       android:endColor="@color/gris_hint" 
       android:startColor="@color/gris_hint" /> 
     </shape> 
    </item> 
    <item android:id="@android:id/secondaryProgress"> 
     <clip> 
      <shape android:shape="rectangle" > 
       <corners android:radius="5dp" /> 
       <gradient 
        android:angle="270" 
        android:endColor="@color/gris" 
        android:startColor="@color/gris" /> 
      </shape> 
     </clip> 
    </item> 
    <item android:id="@android:id/progress"> 
     <clip> 
      <shape android:shape="rectangle" > 
       <corners android:radius="5dp" /> 
       <gradient 
        android:angle="270" 
        android:endColor="@color/gris" 
        android:startColor="@color/gris" /> 
      </shape> 
     </clip> 
    </item> 
</layer-list> 

E questo è style_progressbar_circle.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/red_scrubber_control_disabled_holo" android:state_enabled="false"/> 
    <item android:drawable="@drawable/red_scrubber_control_pressed_holo" android:state_pressed="true"/> 
    <item android:drawable="@drawable/red_scrubber_control_focused_holo" android:state_selected="true"/> 
    <item android:drawable="@drawable/red_scrubber_control_normal_holo"/> 
</selector>  

Ecco come Lo vedo nei Lollipop

Seekbar Lollipop

Questo è come dovrebbe apparire, questo è come appare su Kitkat e versioni inferiori.

Seekbar KitKat

Qualche idea? Ho alcuni problemi con i layout di Lollipop, ma questo è l'unico che non riesco a risolvere per conto mio.

+0

Ho un problema simile. Ho creato un bug report android https://code.google.com/p/android/issues/detail?id=79885 –

risposta

49

La barra di ricerca del materiale ha una traccia divisa attivata per impostazione predefinita. Devi spegnerlo.

<SeekBar 
    .... 
    android:splitTrack="false" /> 
+2

Funziona come un incantesimo. Grazie. I pulsanti materiali hanno anche textAllCaps abilitati di default, lo stesso problema. –

+7

Piccolo consiglio. Per annullare l'effetto del materiale del pollice, basta ripristinare lo sfondo: android: background = "@ null" –

+0

@SergeyVakulenko fantastico! Grazie mille! – rocknow