Android SeekBar拇指被剪裁/切断

时间:2010-05-26 11:47:42

标签: android android-seekbar

使用带有SeekBar视图的自定义拇指绘图时,拇指绘图将被剪裁在视图的左右边缘。

如何解决此问题?

6 个答案:

答案 0 :(得分:91)

您应该可以通过将paddingRight上的paddingLeftSeekBar设置为拇指宽度的一半(请记住使用与密度无关的单位)来解决此问题。您还可以通过调用setThumbOffset来控制搜索栏拇指边缘允许的空间。

答案 1 :(得分:28)

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

答案 2 :(得分:7)

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

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

android:thumbOffset="8dp"

答案 3 :(得分:1)

我的默认搜索栏拇指的底部被剪掉了。这里没有任何修复工作。我最终使用了

     android:clipToPadding="false"

在父视图上。这解决了问题。

答案 4 :(得分: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

答案 5 :(得分:0)

<androidx.appcompat.widget.AppCompatSeekBar
        android:id="@+id/progress_loan_period"
        android:layout_width="@dimen/dp_0"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/dp_15"
        android:progressDrawable="@drawable/seek_bar"
        android:thumb="@drawable/ic_slider"
        android:paddingStart="@dimen/dp_0"
        android:paddingEnd="@dimen/dp_0"
        android:thumbOffset="-0dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@id/label_loan_period" />

这可以完成工作