Blackberry Storm Emulator - события TouchGesture не запускаются, как заставить работать Swipe?
Играя с Storm Emulator и 4.7 JDE, я не могу понять, как запускать события жестов в эмуляторе.
Ниже приведен код сенсорного события для примера приложения RIM EmbeddedMapDemo. Это кажется достаточно простым, но touchGesture.getEvent() == TouchGesture.SWIPE, кажется, никогда не регистрируется в true.
Как мне зарегистрировать свайпы в эмуляторе? Моей мышью я пытаюсь сделать щелчок левой кнопкой мыши и перетащить, но это не похоже на работу.
/**
* @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;
}
1 ответ
Нажатие левой кнопки мыши имитирует нажатие вниз по экрану... симулятор (и я думаю, что и фактическое устройство Storm) не будет запускать события TouchGesture, пока вы нажимаете на экран.
То, что вы хотите сделать, это удерживать правую кнопку мыши и перетаскивать, поскольку правая кнопка мыши имитирует касание экрана без щелчка. Таким образом, вы сможете запустить TouchGestures.
Немного сложно сделать жест на симуляторе, вам нужно двигаться быстро, но если вы используете правую кнопку мыши, вы сможете это сделать.