如何正确去掉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))即可生效。

相关推荐
好的佩奇1 小时前
Dart 之增强枚举
android·flutter·dart
梦影_1 小时前
MySQL进阶教程(五)—— SQL调优(下)
android·大数据·数据库·后端·sql·mysql·database
好的佩奇4 小时前
蓝牙之无线电与通信距离
android·flutter·蓝牙
vilya4 小时前
我把一套完整的 Python Agent 运行时塞进手机 APK:依赖闭包、Rust 轮子和三个真机坑
android
呆呆敲代码的小Y6 小时前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
思想觉悟8 小时前
SEAndroid实战
android·linux·c++
思想觉悟8 小时前
Aosp开发磨刀石之ADB速查
android·c++
应用市场10 小时前
用本机跑的开源音乐模型,给安卓小游戏做 20 秒无缝循环背景音乐
android·python·游戏开发·soundpool·音频处理
企业数字化笔记10 小时前
表单发布前怎么验收?版本引用、字段兼容和历史数据回归
android·数据挖掘·回归
生信分析笔记10 小时前
Nature 正刊 GPN-Star 基因组语言模型
android