3

J'ai joué avec le Storm Emulator et le 4.7 JDE, pour la vie de moi, je n'arrive pas à comprendre comment déclencher des événements gestuels dans l'émulateur. Ci-dessous, le code d'événement tactile pour l'exemple d'application RIM EmbeddedMapDemo. Cela semble assez simple, mais touchGesture.getEvent() == TouchGesture.SWIPE ne semble jamais s'inscrire à true.Blackberry Storm Emulator - Les événements TouchGesture ne se déclenchent pas, comment faire fonctionner un Swipe?

Comment enregistrer des balayages dans l'émulateur? Avec ma souris, j'essaie de faire un clic gauche et de faire 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;  
} 

Répondre

4

En appuyant sur le bouton gauche de la souris simule en cliquant bas de l'écran ... le simulateur (et aussi un dispositif de tempête réelle, je pense) ne se déclenchent pas d'événements TouchGesture pendant que vous êtes en cliquant en bas sur l'écran. Ce que vous voulez faire est maintenez le le bouton droit de la souris et faites glisser, car le bouton droit de la souris simule une pression sur l'écran, sans clic. De cette façon, vous devriez être en mesure d'activer TouchGestures.

C'est un peu difficile de faire un geste sur le simulateur, il faut un peu bouger rapidement, mais si vous utilisez le bouton droit de la souris, vous devriez être capable de le faire.

Questions connexes