2010-05-26 127 views

回答

82

你應該可以通過在你的SeekBar上將paddingLeftpaddingRight設置爲拇指寬度的一半(記住使用與密度無關的單位)來解決這個問題。您還可以通過撥打setThumbOffset來控制搜索欄拇指邊緣處的空間。

+0

什麼是默認拇指大小deault? – Hurda 2012-06-13 08:55:26

+1

@Hurda mdpi(holo)的大小是32x32,mdpi(預整體)是32x29 – 2013-04-06 06:38:10

+2

注意,如果你正在使用VerticalSeekBars,你仍然使用paddingRight&paddingLeft – 2013-04-06 06:39:49

25

我就遇到了這個問題我自己,我相信"correct"決定將修改android:thumbOffset作爲一個搜索欄將它設置爲8像素的默認樣式。

+1

+1!我的設計師會喜歡這種方法,所以現在我們的滑塊軌道可以按照預期的方式左右對齊。謝謝你的提示! – marcelebrate 2011-07-03 20:37:32

+1

android:thumbOffset對2.3.3沒有任何影響。我不得不使用填充。 – jul 2013-08-25 01:44:52

+0

'android:thumOffset'對2.3.3沒有任何影響,但是你可以使用'setThumbOffset'方法。 – Brtle 2014-08-21 14:16:53

6

對於默認搜索欄我使用這些設置,它工作正常:

只是爲了澄清
android:paddingLeft="6dp" 
android:paddingRight="6dp" 

android:thumbOffset="8dp" 
0

在一些地方,我看到

android:thumbOffset="8dp" 

和一些

android:thumbOffset="8px" 

所以我看了看源代碼。這是原來的風格

<style name="Widget.SeekBar"> 
     <item name="android:indeterminateOnly">false</item> 
     <item name="android:progressDrawable">@android:drawable/progress_horizontal</item> 
     <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item> 
     <item name="android:minHeight">20dip</item> 
     <item name="android:maxHeight">20dip</item> 
     <item name="android:thumb">@android:drawable/seek_thumb</item> 
     <item name="android:thumbOffset">8dip</item> 
     <item name="android:focusable">true</item> 
    </style> 

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/values/styles.xml