2012-05-07 21 views
6

De alguna manera estoy obteniendo resultados inesperados al intentar implementar multitouch en mi aplicación. Nunca obtengo datos para más de un puntero. Multitouch en mi teléfono seguramente funciona, porque puedo pellizcar-acercar mi navegador y detectar un gesto de pellizco con GestureDetector, pero el siguiente ejemplo imprime action=0 pointers=1 independientemente de la cantidad de dedos que uso para tocar la pantalla.MotionEvent.getPointerCount() siempre es 1

¿Hay algo en la creación de configuración/AndroidManifest o actividad que necesito

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    findViewById(R.id.ll1).setOnTouchListener(new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      Log.d("TAG","onTouch action="+event.getAction()+" pointers="+event.getPointerCount()); 
      return false; 
     } 
    }); 
} 

diseño:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
</LinearLayout> 

Respuesta

19

El problema era que yo estaba regresando false en onTouch, por lo tanto, nuevos eventos táctiles tienen no ha sido generado.

+0

Gracias, gracias, gracias! Desearía que esto se explicara en algún lugar de la documentación. – user1676075

Cuestiones relacionadas