Seekbar的setThumb使用记录

Android 3xcn.com@站长2022年11月1日 am8:08发布1年前 (2023)更新
0
导航号,我的单页导航
目录

前言

记录一下SeekBar代码设置setThumb的使用。

正文

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;
    }
	//
}

网上有很多方式,这里我只是方便自己自己整理一下,方便自己查阅。

隐藏内容!
付费阅读后才能查看!
2
5
多个隐藏块只需支付一次

参考文章

无,有点久了忘记了。

版权声明 1、 本站名称: 91易搜
2、 本站网址: https://www.91es.com/
3、 本站文章: 部分来源于网络,仅供站长学习和参考,若侵权请留言
导航号,我的单页导航

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...