我正在尝试使用SeekBar
来表示两条信息:
我想使用用户触摸输入来更改ScrollBar
的{{1}},表示所需的阈值。进度颜色条将由我以编程方式设置,以显示音频级别,与SeekBar
位置无关,并且不受用户输入的影响。
我尝试过使用ScrollBar
和SeekBar.setScrollX(int)
,但是文档说这些调用会使视图无效,当调用其中一个函数时,程序确实会崩溃。
这是touchEvent代码:
SeekBar.setScrollY(int)
这是我正在使用的简单测试onScrollChanged函数。请注意,如果未覆盖NoSuchMethodFoundError仍会发生。
@Override
public boolean onTouchEvent(MotionEvent event) {
if (!isEnabled()) {
return false;
}
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
setProgress(getMax() - (int) (getMax() * event.getY() / getHeight()));
setScrollX(50); // this causes a MethodNotFoundError
onSizeChanged(getWidth(), getHeight(), 0, 0);
break;
case MotionEvent.ACTION_CANCEL:
break;
}
return true;
}