2011-06-27 76 views
21

我碰到了一個奇怪的問題..我實現了一個自定義的拇指seekbar。當我在HTC Desire上運行我的應用程序時,它一切正常..但是,當我在Samsung Galaxy上運行它時,大拇指變得剪裁!Android的seekbar剪輯的拇指

下面是截圖..

願望:

Desire seekbar

三星Galaxy:

Galaxy seekbar

我將是任何thoughts..tnx

感激

myprogress.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:id="@android:id/background"> 
    <shape> 
     <corners 
      android:radius="10dp" /> 
     <gradient 
       android:startColor="@color/gray" 
       android:centerColor="@color/gray" 
       android:centerY="0.75" 
       android:endColor="@color/gray" 
       android:angle="270" 
     /> 
    </shape> 
</item> 

<item android:id="@android:id/secondaryProgress"> 
    <clip> 
     <shape> 
     <corners 
      android:radius="10dp" /> 
      <gradient 
        android:startColor="@color/white" 
        android:centerColor="@color/white" 
        android:centerY="0.75" 
        android:endColor="@color/white" 
        android:angle="270" 
      /> 
     </shape> 
    </clip> 
</item> 

<item android:id="@android:id/progress"> 
    <clip> 
     <shape> 
     <corners 
      android:radius="10dp" /> 
      <gradient 
       android:startColor="#FFA500" 
       android:centerColor="@color/yellow" 
       android:centerY="0.75" 
       android:endColor="@color/yellow" 
       android:angle="270" 
      /> 
     </shape> 
    </clip> 
</item> 

風格:

<style name="mySeekBar"> 
    <item name="android:indeterminateOnly">false</item> 
    <item name="android:progressDrawable">@drawable/myprogress</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:minHeight">10dip</item> 
    <item name="android:maxHeight">10dip</item> 
    <item name="android:thumb">@drawable/thumb</item> 
    <item name="android:thumbOffset">4dp</item> 
    <item name="android:focusable">true</item> 

搜索條的xml:

<SeekBar android:id="@+id/player_seek_horizontal" 
     android:layout_gravity="center_vertical" 
     android:max="100" 
     android:layout_marginLeft="50dp" 
     android:layout_width="180dp" 
     android:thumb="@drawable/thumb" 
     android:layout_height="wrap_content" 
     style="@style/mySeekBar" 
     android:background="@drawable/background_transparent_rounded" 
     android:paddingRight="4dp" android:paddingLeft="4dp"/> 
+0

請發佈相關的XML和源文件。 – sparkymat

+0

你能解決這個問題嗎?我面對與默認的seekbar相同的問題。使用「padding」和「thumbOffset」使其在不同的API版本上表現不同。 – faizal

回答

32

調整android:paddingLeftandroid:paddingRightandroid:thumbOffset您的SeekBar的性能,以實現預期的結果。

左右填充應該是拇指寬度的一半。

+0

如果你看這些xml,你會看到我已經嘗試過了。如果我爲一個設備設置了正確的話,那麼對於另一個設備來說它是不好的 –

+2

@TomislavNovoselec,Padding的左右應該是拇指寬度的一半。這應該工作。 – JRC

+1

你如何找出或設置拇指寬度? – faizal

7
<SeekBar 
    ... 
    android:paddingLeft="5dp" 
    android:paddingRight="5dp" 
    android:thumbOffset="0px" /> 

它爲我工作。