前言
正文
xml中Seekbar的配置
<SeekBar
android:id="@+id/seek_bar_1"
android:layout_width="920dp"
android:layout_height="40dp"
android:max="100"
android:progress="100"
android:progressDrawable="@drawable/seek_bar_bg_2"
android:thumb="@drawable/seek_thumb"
android:thumbOffset="0dp" />
PS : 如果不设置 android:thumbOffset=”0dp” ,也就是thmub不从进度0开始,就没问题。
但是如果设置了
android:thumbOffset="0dp"
就可能存在问题。也就是java代码中通过setThumb设置,就存在偏移。
PS:通过setThumb设置这种比较少,比如一般动态换肤需要,或者不重新走Activity生命周期时需要静态的替换。
原因是mThumbOffset被重新赋值了,解决方式就是把mThumbOffset从新设置回去就行。
public void setThumb(Drawable thumb) {
//略
if (thumb != null) {
// Assuming the thumb drawable is symmetric, set the thumb offset
// such that the thumb will hang halfway off either edge of the
// progress bar.
mThumbOffset = thumb.getIntrinsicWidth() / 2;
}
//略
}
网上有很多方式,这里我只是方便自己自己整理一下,方便自己查阅。
参考文章
无,有点久了忘记了。
© 版权声明