【发布时间】:2010-05-26 11:47:42
【问题描述】:
当使用带有SeekBar 视图的自定义拇指可绘制对象时,拇指可绘制对象在视图的左右边缘被剪裁。
如何解决此问题?
【问题讨论】:
当使用带有SeekBar 视图的自定义拇指可绘制对象时,拇指可绘制对象在视图的左右边缘被剪裁。
如何解决此问题?
【问题讨论】:
您应该能够通过将SeekBar 上的paddingLeft 和paddingRight 设置为拇指宽度的一半来解决此问题(请记住使用与密度无关的单位)。您还可以通过调用setThumbOffset 来控制搜索栏拇指边缘允许的空间。
【讨论】:
paddingLeft 和paddingRight 设置为16dp 似乎是确保它适用于所有标准主题的所有版本的方法。
android:thumbOffset="-0dp" 对我有用
我自己也遇到了这个问题,我相信 "correct" 的决定是将android:thumbOffset 修改为 SeekBar 的默认样式,将其设置为 8px .
【讨论】:
android:thumOffset 对 2.3.3 没有影响,但可以使用 setThumbOffset 方法。
对于默认的 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>
来自
【讨论】:
我的默认搜索栏拇指底部被剪掉了。这里的修复都没有奏效。我最终使用了
android:clipToPadding="false"
在父视图上。这解决了问题。
【讨论】:
<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" />
这样就完成了
【讨论】:
没有什么对我有用,但我只是将拇指的颜色更改为与父布局的背景颜色不同,它对我有用。
【讨论】: