Pregunta

estado jugando con la tormenta y el emulador de 4,7 JDE, para la vida de mí no puedo encontrar la manera de disparar eventos de gestos en el emulador.

A continuación se muestra el código de evento táctil para la aplicación de ejemplo RIM EmbeddedMapDemo. Parece bastante sencillo, pero touchGesture.getEvent () == TouchGesture.SWIPE nunca parece dar de alta a la verdadera.

¿Cómo puedo registrar golpes en el emulador? Con el ratón Intento hacer clic izquierdo y arrastre pero eso no parece funcionar.

/**
* @see Field#touchEvent(TouchEvent)
*/
protected boolean touchEvent(TouchEvent message)
{        
    boolean isConsumed = false;

    if(_mapField.isClicked())
    {
        TouchGesture touchGesture = message.getGesture(); 
        if (touchGesture != null)
        {                
            // If the user has performed a swipe gesture we will 
            // move the map accordingly.
            if (touchGesture.getEvent() == TouchGesture.SWIPE)
            {      
                // Retrieve the swipe magnitude so we know how
                // far to move the map.
                int magnitude = touchGesture.getSwipeMagnitude();

                // Move the map in the direction of the swipe.
                switch(touchGesture.getSwipeDirection())
                {
                    case TouchGesture.SWIPE_NORTH:
                        _mapField.move(0, - magnitude);
                        break;
                    case TouchGesture.SWIPE_SOUTH:
                        _mapField.move(0, magnitude);
                        break;
                    case TouchGesture.SWIPE_EAST:
                        _mapField.move(- magnitude, 0);
                        break;
                    case TouchGesture.SWIPE_WEST:
                        _mapField.move(magnitude, 0);
                        break;                            
                } 
                // We've consumed the touch event.
                isConsumed = true; 
            }
        }     
    }
    return isConsumed;       
}
¿Fue útil?

Solución

Al pulsar el botón izquierdo del ratón simula clic abajo en la pantalla ... el simulador (y también un dispositivo de tormenta real, creo) no se disparará eventos TouchGesture mientras se está haciendo clic abajo en la pantalla.

Lo que se quiere hacer es mantener pulsada la tecla botón derecho del ratón y arrastre, ya que el botón derecho del ratón simula un toque de pantalla, sin clic. De esta manera, usted debería ser capaz de obtener TouchGestures al fuego.

Es un poco difícil de hacer un gesto en el simulador, que poco tiene que moverse rápido, pero si se utiliza el botón derecho del ratón usted debería ser capaz de hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top