gpt4 book ai didi

Android Seekbar thumb onclick监听器

转载 作者:行者123 更新时间:2023-11-30 00:56:54 25 4
gpt4 key购买 nike

我已经制作了我的音乐应用程序,现在我需要在搜索栏上制作音乐播放/暂停控件。这是图片 enter image description here

如您所见,seekbar 带有自定义拇指图像,当用户触摸拇指音乐时,音乐开始播放或停止。是否可以实现类似的功能?基本上我只需要为 seekbar thumb 实现监听器。我知道如何从 seekbar 获取拇指,但是拇指是 drawable 所以我无法实现任何监听器。 audioSeekBar.getThumb()

最佳答案

您应该监听 touchEvent,计算触摸在搜索栏拇指上的位置,并防止在用户移动搜索栏但未点击时调用点击事件。

像这样:

seekBar.setOnTouchListener(new View.OnTouchListener() {

float prevX = Float.MIN_VALUE;
float eps = 0.001f;

@Override
public boolean onTouch(View v, MotionEvent event) {

Drawable drawable = seekBar.getThumb();

if (event.getAction() == MotionEvent.ACTION_DOWN) {

if (event.getX() >= drawable.getBounds().left && event.getX() <= drawable.getBounds().right
&& event.getRawY() >= drawable.getBounds().top && event.getRawY() >= drawable.getBounds().bottom) {
prevX = event.getX();
}
}

if (event.getAction() == MotionEvent.ACTION_UP) {

if (event.getX() >= drawable.getBounds().left && event.getX() <= drawable.getBounds().right
&& event.getRawY() >= drawable.getBounds().top && event.getRawY() >= drawable.getBounds().bottom) {
if (Math.abs(event.getX() - prevX) < eps) {
Log.d("here", "clicked on place");
}
}
prevX = Float.MIN_VALUE;
}

return false;
}
});
}

关于Android Seekbar thumb onclick监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com