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
            }
        })
相关推荐
2501_9462309810 小时前
Cordova&OpenHarmony通知中心实现
android·javascript
csj5011 小时前
安卓基础之《(9)—中级控件(3)文本输入》
android
Elastic 中国社区官方博客13 小时前
Elasticsearch:在 X-mas 吃一些更健康的东西
android·大数据·数据库·人工智能·elasticsearch·搜索引擎·全文检索
2501_9462309814 小时前
Cordova&OpenHarmony提醒管理系统实现
android·javascript
shaominjin12315 小时前
Jetpack Compose 实践入门:从环境搭建到待办列表实现
android
冬奇Lab17 小时前
稳定性性能系列之二——ANR机制深度解析:从触发到上报
android·性能优化·debug
江上清风山间明月18 小时前
Android BIND_NOTIFICATION_LISTENER_SERVICE 权限详解
android·notification·service·bind·listener
Lei活在当下18 小时前
【日常知识积累】Kotlin let 函数、inline 函数以及 DSL
android·kotlin·编程语言
世界美景18 小时前
一种基于 ART 内存特征的 LSPosed/Xposed/分身环境 完美检测方案
android·安全·安卓·xposed
2501_9462309819 小时前
Cordova&OpenHarmony外观主题设置
android·javascript