2010-05-26 87 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