2015-12-14 96 views
7

我有自定義seekbar,這不太合適。如何將自定義搜索欄的ProgressDrawable大小設置爲小於ProgressBackground

我想seekbar看起來像這樣:

Notice the progress bar is 'skinnier' than the background

但是,這是接近我已經能夠得到

The progress bar and background are the same size

忽略輕微的色彩和尺寸問題,我遇到的問題是綠色progress大小。有沒有辦法讓這個比背景小?我試過中的sizepadding標籤,甚至嘗試用兩個矩形互相疊加,夾子gravity,但沒有運氣。

這裏是我的Seekbar繪製

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@android:id/background"> 
     <shape android:shape="rectangle"> 
      <corners android:radius="20dp" /> 
      <solid android:color="@color/fofo_grey" /> 

     </shape> 
    </item> 

    <item android:id="@android:id/progress"> 

     <clip> 
      <shape android:shape="rectangle"> 
       <corners android:radius="20dp" /> 
        <solid android:color="@color/signup_green" /> 
      </shape> 
    </clip> 
    </item> 

</layer-list> 

和搜索欄的佈局片段

<SeekBar 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/seekBar" 
    android:layout_below="@+id/textView6" 
    android:layout_centerHorizontal="true" 
    android:splitTrack="false" 
    android:progressDrawable="@drawable/custom_seekbar" 
    android:thumb="@drawable/thumb_seekbar" 
    android:max="100" 
    android:progress="50" 
    android:indeterminate="false" /> 
+0

搜索欄搜索條=(搜索欄)findViewById (R.id.seekBar); seekBar.setScaleY(2f); seekBar.setScaleY(2f); seekBar.setScaleX(2f); –

+0

這裏沒有運氣,恐怕這只是讓整個'Seekbar'巨大。 – BlitzKraig

回答

9
<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@android:id/background"> 
     <shape android:shape="rectangle"> 
      <corners android:radius="20dp"/> 
      <solid android:color="@color/fofo_grey" /> 

     </shape> 
    </item> 

    <item android:id="@android:id/progress"> 

     <clip> 
      <shape android:shape="rectangle"> 
       <corners android:radius="20dp"/> 
        <solid android:color="@color/signup_green" /> 
       <stroke android:width="6dp" 
         android:color="@color/fofo_grey" /> 
      </shape> 
    </clip> 
    </item> 

</layer-list> 

只是添加行程屬性在搜索條抽拉

+0

感謝大衛,在我自己的答案中找到了這個解決方案。我會將你的標記標記爲已接受,因爲你已經付了錢。 – BlitzKraig

+0

這是我花了一天之後爲我工作。 –

5

管理解決此問題。真不敢相信我花了這麼長時間來想辦法解決的......

<clip> 
      <shape android:shape="rectangle"> 
       <stroke android:color="@color/fofo_grey" android:width="6dp"/> 
       <corners android:radius="20dp" /> 
       <solid android:color="@color/signup_green" /> 
      </shape> 
     </clip> 

增加了stroke用相同的顏色作爲背景元素,並調整了strokewidth,以達到預期的效果。

Finished effect

7

用於改變高度進展drawble只需添加android:minHeight="2dip"android:maxHeight="2dip"到pseekbar XML

+0

謝謝。這個解決方案對我來說<3 – ThanosFisherman

相關問題