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
            }
        })
相关推荐
apihz1 小时前
台风实时与历史详情查询免费 API 接口完整教程
android·开发语言·tcp/ip·dubbo·台风·天气预报
浪客川2 小时前
AOSP源码隐藏状态栏
android·aosp
没有了遇见2 小时前
AI Agent 是什么?—— 一文理解 LLM、Memory、Skills、Tools、MCP、Workflow,Context
android·前端·程序员
御坂嘀喵3 小时前
Speed Tools:一套低侵入的 Android 插件化 + 动态换肤 + 字体切换框架
android·gitee
浮江雾3 小时前
Flutter第三节----Dart中的数据类型
android·开发语言·学习·flutter·入门·函数
风和先行3 小时前
Android 数据库相关学习总结
android·数据库·学习
杉氧4 小时前
Compose 渲染内核 (3):Slot Table 与 Gap Buffer —— 极速重组的数学艺术
android·架构·android jetpack
阿巴斯甜5 小时前
ContentObserver的使用:
android
casual_clover5 小时前
【Android 控件】使用 Navigation 实现底部导航功能时左右滑动退出页面功能
android·底部导航滑动退出
urkay-5 小时前
Kotlin Flow分类
android·开发语言·kotlin