android Seekbar 拖动按钮显示不全问题

<SeekBar

android:id="@+id/sb_progress"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:max="100"

android:maxHeight="6dp"

android:minHeight="6dp"

android:paddingEnd="0dp"

android:paddingStart="0dp"

android:thumbOffset="0dp"

android:progressDrawable="@drawable/seekbar_videoplay_style"

android:thumb="@mipmap/media_thumb" />

这种情况是因为SeekBar有个mThumbOffSet属性,默认把它设置为

mThumbOffset = thumb.getIntrinsicWidth() / 2; 即thum的宽度的一半

要在SeekBar中写下这句代码,即可解决。

android:thumbOffset="0dp"
android SeekBar thumb显示不全的原因_-每天进步一点点-的博客-CSDN博客

如果按住拖动变大。到两边还是显示不全,需要监听修改

复制代码
mSeekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
            override fun onProgressChanged(seekBar: SeekBar, i: Int, b: Boolean) {
                if (b) {
                    MLog.i(TAG, "onProgressChanged progress = $i , fromUser = $b")
                }
            }

            override fun onStartTrackingTouch(seekBar: SeekBar) {
                MLog.i(TAG, "onStartTrackingTouch...")
                seekBar.isSelected = true
//按住变大
                mSeekBar.thumb = context?.let { ContextCompat.getDrawable(it, R.drawable.seekbar_thumb_big) }
//这个要在后面设置
                mSeekBar.thumbOffset = ScreenUtil.dp2px(context, 0f)
            }

            override fun onStopTrackingTouch(seekBar: SeekBar) {
                MLog.i(TAG, "onStopTrackingTouch...")
                seekBar.isSelected = false
//松开变小
                mSeekBar.thumb = context?.let { ContextCompat.getDrawable(it, R.drawable.seekbar_thumb_small) }
//这个要在后面设置 恢复变小
                mSeekBar.thumbOffset = 0
            }
        })
相关推荐
Dovis(誓平步青云)8 分钟前
牛奶不能减成负数:冰箱库存的筛选、去重与不可变更新
android·java·开发语言
Awna35 分钟前
MySQL 存储空间与索引运维实战:从空间排查到在线扩容
android·运维·mysql
智购科技无人售货机工厂1 小时前
2026自动售货机触摸屏驱动开发:从I2C协议到多点触控校准的工程实践~YH
android·驱动开发·python·单片机·云原生·django
又见情义1 小时前
RK3568 Android 13驱动适配-WiFi&BT模块(RTL8822CS)
android·arm开发·驱动开发
美狐美颜SDK开放平台1 小时前
直播APP源码如何实现美颜功能?视频美颜SDK开发方案详解
android·大数据·人工智能·计算机视觉·直播美颜sdk
pengyu2 小时前
【Kotlin 协程修仙录 · 化神境 · 后阶】 | 异常天劫:Flow 异常处理的终极奥义与重试之道
android·kotlin
又见情义2 小时前
RK3568 Android 13 LED指示灯适配实战
android·驱动开发
pengyu2 小时前
【Kotlin 协程修仙录 · 化神境 · 中阶】 | 多播奥义:SharedFlow 高级配置与 Channel 的抉择之道
android·kotlin
码云数智-园园2 小时前
PHP 性能优化实战:从 3s 到 300ms,我是怎么优化一个接口的?
android·adb
Dovis(誓平步青云)2 小时前
番茄钟真正难的不是倒计时:启动、暂停、重置与页面销毁
android·服务器·前端