Pergunta

Estou brincando com o Emulador de Tempestade e o 4,7 JDE, Durante a minha vida, não consigo descobrir como disparar eventos de gestos no emulador.

Abaixo está o código do evento Touch para o aplicativo de amostra RIM incorporadoMapDemo. Parece direto o suficiente, mas Touchgesture.Getevent () == Touchgesture.swipe nunca parece se registrar no verdadeiro.

Como posso registrar swipes no emulador? Com o meu mouse, tento clicar esquerda e arrastar, mas isso não 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;       
}
Foi útil?

Solução

Pressionar o botão esquerdo do mouse simula clicar na tela ... o simulador (e também um dispositivo de tempestade real, eu acho) não disparará eventos de toque de toque enquanto você está clicando na tela.

O que você quer fazer é segurar o botão direito do mouse E arraste, como o botão do mouse direito simula uma tela, sem clique. Dessa forma, você poderá fazer o toque de toques.

É um pouco difícil fazer um gesto no simulador, você meio que precisa se mover rapidamente, mas se você usar o botão certo do mouse, poderá fazê -lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top