2016-05-04 16 views
3

Ich habe eine benutzerdefinierte SeekBar mit einem bestimmten Stil:Android: custom seekbar Daumen nicht richtig

 <SeekBar 
      android:id="@+id/mediacontroller_progress" 
      style="@style/MediaSeekBar" 
      android:layout_width="0dip" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" /> 

MediaSeekBar Stil:

<style name="MediaSeekBar" parent="android:Widget.SeekBar"> 
     <item name="android:progressDrawable">@drawable/media_seek_bar</item> 
     <item name="android:minHeight">2dp</item> 
     <item name="android:maxHeight">2dp</item> 
     <item name="android:thumb">@drawable/media_seek_bar_thumb</item> 
     <item name="android:progress">0</item> 
    </style> 

media_seek_bar ziehbar:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/background"> 
     <shape> 
      <corners android:radius="0dip" /> 
      <solid android:color="#20ffffff" /> 
     </shape> 
    </item> 
    <item android:id="@android:id/secondaryProgress"> 
     <clip> 
      <shape> 
       <corners android:radius="0dip" /> 
       <gradient 
        android:startColor="#80ffd300" 
        android:centerColor="#80ffb600" 
        android:centerY="0.75" 
        android:endColor="#a0ffcb00" 
        android:angle="270" /> 
      </shape> 
     </clip> 
    </item> 
    <item android:id="@android:id/progress"> 
     <clip> 
      <shape> 
       <corners android:radius="0dip" /> 
       <solid android:color="@color/theme_accent_1" /> 
      </shape> 
     </clip> 
    </item> 
</layer-list> 

media_seek_bar_thumb Zeichenfreigabe:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
     android:drawable="@drawable/control_pressed" /> 
    <item android:state_focused="true" 
     android:drawable="@drawable/control_pressed" /> 
    <item android:state_selected="true" 
     android:drawable="@drawable/control_pressed" /> 
    <item android:drawable="@drawable/control_normal" /> 
</selector> 

Und das Ergebnis:

ohne Presse

enter image description here

wenn ich Daumen enter image description here

Das Problem ist also der Bereich rund um den gelben Kreis drücken: es ist transluzent in meinen PNG-Dateien, aber nicht in der App.

+0

Der Bereich um den Kreis oder den Kreis selbst? – Prudhvi

Antwort

0

Problem ist in Ihren Bildern innerhalb des Selektors. Wahrscheinlich haben Bilder mehr Platz. Ich habe versucht, Ihren Code mit benutzerdefinierten Drawable Inside-Selektor auszuführen, und es funktioniert gut. Hier ist mein Kreis ziehbar:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#ffe600"/> <size android:width="15dp" android:height="15dp"/> </shape>

enter image description here

0
<SeekBar 
    android:splitTrack="false" 
    .... 
/> 

wird gut.

Verwandte Themen