2011-03-25 8 views
8

Por lo tanto, estoy tratando de usar una vista de superposición de gestos en Android para realizar una acción de "deslizar". De modo que cuando el usuario "desliza" hacia la izquierda, ejecuta cierto código y cuando desliza hacia la derecha ejecuta otro código. Probé declairing la gestureoverlay así:Uso de una vista de superposición de gestos en Android

GestureOverlayView gest = (GestureOverlayView) findViewById(R.id.hatgest); 

Pero entonces yo no sé a dónde ir desde allí y no puedo encontrar nada útil en la guía dev o en línea. Para un botón, normalmente usaría un "onclicklistener" ¿cómo haría esto con la superposición de gestos? ¿Alguien tiene algún ejemplo de código al que pueda hacer referencia? Gracias

Respuesta

11

Primero, hazle gestos personalizados desde gestor de gestos. La aplicación Gesture Builder viene en el SDK. Coloque el archivo creado desde la aplicación gestor de gestos en la carpeta sin formato de la aplicación que va a utilizar con estos gestos. También puede obtener ayuda de documentation

public class YourClass extends Activity implements OnGesturePerformedListener { 

    private GestureLibrary mLibrary; 
    mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures); 
    if (!mLibrary.load()) { 
     finish(); 
    } 

    GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures); 
    gestures.addOnGesturePerformedListener(this); 

    public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { 
     ArrayList <Prediction> predictions = mLibrary.recognize(gesture); 
     Log.v("performed", "performed"); 

     // We want at least one prediction 
     if (predictions.size() > 0) { 
     Prediction prediction = predictions.get(0); 

     // We want at least some confidence in the result 
     if (prediction.score > 1.0) { 
      if (prediction.name.equalsIgnorecase("right")) { 
      //do you thing here// 
      } 
     } 
     } 
    } 
    } 
+0

el enlace no funciona, y me expecto encontrar el archivo de gestos – AMH

+1

@AMH su trabajo ahora. – ozmank

+4

Estoy tratando de implementar esto ahora, pero estoy obteniendo un error en 'R.raw.gestures',' raw no se puede resolver o no es un campo. ¿Alguien tiene alguna idea? Estoy trabajando en la versión 10 del SDK – JuiCe

-1

Al parecer, GestureOverlayViews puede tener múltiples onGestureListeners.

Compruebe el método addOnGestureListener() y addOnGesturePerformedListener().

Cuestiones relacionadas