使用带有SeekBar
视图的自定义拇指绘图时,拇指绘图将被剪裁在视图的左右边缘。
如何解决此问题?
答案 0 :(得分:91)
您应该可以通过将paddingRight
上的paddingLeft
和SeekBar
设置为拇指宽度的一半(请记住使用与密度无关的单位)来解决此问题。您还可以通过调用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>
来自
答案 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" />
这可以完成工作