Question

joue avec l'émulateur Storm et le 4.7 JDE, pour la vie de moi je ne peux pas comprendre comment déclencher des événements de geste dans l'émulateur.

Voici le code d'événement tactile pour l'exemple d'application de RIM EmbeddedMapDemo. Il semble assez simple, mais touchGesture.getEvent () == TouchGesture.SWIPE ne semble jamais s'inscrire à true.

Comment puis-je enregistrer dans l'émulateur swipes? Avec ma souris, j'essaie de faire un clic gauche et glisser, mais cela ne semble pas fonctionner.

/**
* @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;       
}
Était-ce utile?

La solution

En appuyant sur le bouton gauche de la souris en cliquant simulez bas de l'écran ... le simulateur (et aussi un dispositif de tempête réelle, je pense) ne se déclenche pas d'événements TouchGesture pendant que vous êtes en cliquant en bas sur l'écran.

Qu'est-ce que vous voulez faire est maintenez la touche bouton droit de la souris et faites glisser, depuis le bouton droit de la souris simule un robinet d'écran, sans clic. De cette façon, vous devriez être en mesure d'obtenir TouchGestures au feu.

Il est un peu difficile de faire un geste sur le simulateur, vous avez un peu de se déplacer rapidement, mais si vous utilisez le bouton droit de la souris, vous devriez être en mesure de le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top