当使用自定义拇指可绘制 SeekBar 视图,拇指可在视图的左右边缘夹住。

如何解决此行为?

有帮助吗?

解决方案

您应该能够通过设置来解决此问题 paddingLeftpaddingRight 在你的 SeekBar 到一半的拇指宽度(请记住使用密度无关的单元)。您还可以通过打电话来控制边缘的允许的空间 setThumbOffset.

其他提示

我本人遇到了这个问题,我相信 "correct" 决定是修改 android:thumbOffset 作为默认样式 Seekbar 将其设置为8px。

对于默认的Seekbar,我使用了这些设置,并且可以正常工作:

android:paddingLeft="6dp"
android:paddingRight="6dp"

android:thumbOffset="8dp"

只是为了澄清。

在我见过的某些地方

 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/core/res/res/res/res/values/styles.xml

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top