如何正确去掉SeekBar的Thumb和按压效果

1.setThumb(null)

先将thumb置空或者透明,但实际上,拖动SeekBar时仍旧会有个按压效果,如下图所示

2.setBackground(null)

只需要将背景置空,即不会有按压效果了

3.原因分析

拖动SeekBar显示按压效果,故从onTouchEvent看起,其中基本上都会调用trackTouchEvent:

typescript 复制代码
private void trackTouchEvent(MotionEvent event) {
    // 省略部分代码

    setHotspot(x, y);
    setProgressInternal(Math.round(progress), true, false);
}

注意其中的setHotspot方法:

java 复制代码
private void setHotspot(float x, float y) {
    final Drawable bg = getBackground();
    if (bg != null) {
        bg.setHotspot(x, y);
    }
}

Debug SeekBar可知,背景为RippleDrawable,可知按压效果为RippleDrawable绘制的,故将背景置空(setBackground(null))即可生效。

相关推荐
00后程序员张7 小时前
完整教程:如何将iOS应用程序提交到App Store审核和上架
android·macos·ios·小程序·uni-app·cocoa·iphone
aq55356007 小时前
ThinkPHP5.x核心特性全解析
android·数据库·oracle·php·laravel
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.7 小时前
MySQL高可用集群实战:MHA搭建全攻略
android·mysql·adb
00后程序员张7 小时前
iOS应用性能优化全解析:卡顿、耗电、启动与瘦身
android·ios·性能优化·小程序·uni-app·iphone·webview
程序员陆业聪7 小时前
跨端框架横评 2026:Flutter、React Native、KMP、小程序,谁是你下一个项目的正确答案?
android
aq55356007 小时前
Laravel3.x核心特性全解析
android
菜鸟国国7 小时前
Compose 点击/按压事件全解析:从基础到进阶,新手也能秒懂
android
码点8 小时前
Android 设备重启如何拿日志
android
KevinCyao8 小时前
php彩信接口代码示例:PHP使用cURL调用彩信网关发送图文消息
android·开发语言·php
快点好好学习吧9 小时前
CPU 从 L1/L2 缓存读取 MySQL 代码指令的庖丁解牛
android·mysql·缓存