seekbar 中添加的valueanimator 会导致触摸事件失效
时间: 2023-12-09 19:04:31 浏览: 34
在SeekBar中添加ValueAnimator可能会导致触摸事件失效的问题,这是因为ValueAnimator会覆盖SeekBar的触摸事件处理。解决方法是在SeekBar的触摸事件处理中添加判断,如果ValueAnimator正在运行,则不执行SeekBar的处理。具体的实现可以在SeekBar的OnTouchListener中增加判断ValueAnimator是否正在运行的逻辑。例如:
```
seekBar.setOnTouchListener(new View.OnTouchListener() {
ValueAnimator animator;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
if (animator != null && animator.isRunning()) {
return false;
}
// handle touch event
break;
case MotionEvent.ACTION_MOVE:
// handle touch event
break;
case MotionEvent.ACTION_UP:
// handle touch event
break;
}
return true;
}
});
```
这样就可以避免ValueAnimator覆盖SeekBar的触摸事件处理,保证SeekBar的正常使用。