Я комбинирую некоторые фрагменты кода, которые я нашел в stackoverflow и в комплекте для разработки под Android. Я хочу поместить холст с отпечатком пальца в закрываемый горизонтальный вид прокрутки. Однако всякий раз, когда я пытаюсь нарисовать в горизонтальном направлении, прокрутка прокрутки, а не рисование на холсте. У меня не было этой проблемы, когда у меня было изображение в месте пользовательского вида с отпечатка пальца. Я думаю, что, возможно, ошибка переопределения onTouchEvent как в пользовательском lockableHor HorizontalScrollView, так и в пользовательском DrawingView. Я могу предоставить дополнительную информацию и код, если требуется.
Выдержки из:
drawingView.java
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
touch_start(x, y);
invalidate();
break;
case MotionEvent.ACTION_MOVE:
touch_move(x, y);
invalidate();
break;
case MotionEvent.ACTION_UP:
touch_up();
invalidate();
break;
}
return true;
}
LockableHorizontalScrollView.java
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// if we can scroll pass the event to the superclass
if (mScrollable) return super.onTouchEvent(ev);
// only continue to handle the touch event if scrolling enabled
return mScrollable; // mScrollable is always false at this point
default:
return super.onTouchEvent(ev);
}
}