Estoy desarrollando una aplicación para Android con un gran formato. El diseño está contenido en un ScrollView, por lo que puedo desplazarme hacia arriba y hacia abajo a través del formulario.

El problema es que tengo que capturar algunos dibujos (una firma) en este formulario. He creado una vista para él y tiene un evento onTouchEvent:

public boolean onTouchEvent(MotionEvent event)
{
    //Here should be some kind of event.preventDefault();
    float eventX = event.getX();
    float eventY = event.getY();
    [...]
}

Captura el evento y dibuja horizontalmente, pero verticalmente dibuja solo 1 cm más o menos y comienza a desplazarse por el formulario.

He estado revisando los métodos de MotionEvent y probando algunas cosas sin éxito, y estoy realmente perdido en este momento.

¡Gracias de antemano!

4
serginator 8 feb. 2012 a las 20:52

1 respuesta

La mejor respuesta

Pongo aquí la solución para marcarlo como resuelto:

Ok ... lo he resuelto.

public boolean onTouchEvent(MotionEvent event)
{
    getParent().requestDisallowInterceptTouchEvent(true);
    float eventX = event.getX();
    float eventY = event.getY();
    [...]
}

Entonces está resuelto. ¡Gracias de cualquier manera!

3
serginator 9 feb. 2012 a las 14:56
No olvide aceptar su respuesta. Dado que es su propia respuesta a la pregunta, creo que debe esperar de 0 a 2 días.
 – 
Rob W
9 feb. 2012 a las 14:59
Sí, tengo que esperar un día, pero quería marcarlo como resuelto y la publicación principal no se puede marcar jeje. Gracias Rob;)
 – 
serginator
9 feb. 2012 a las 15:01