Los gestos no funcionan cuando se utiliza DrawerLayout en la aplicación para Android
Tengo una aplicación de Android con una sola actividad. Esta actividad utiliza esta disposición:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- The main content view --> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- The navigation drawer --> <ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" android:background="#111"/> </android.support.v4.widget.DrawerLayout>
Entonces, en mi fuente tengo dos detectores de gestos definidos en el constructor:
- Conversión de formato de fecha Android
- La mejor manera de ejecutar periódicamente AsyncTasks en Android
- Werid ClassCastException en TreeMap.containsKey ()
- NullPointerException con android.support.v7.widget.Toolbar
- ¿Es posible que una actividad obtenga basura recopilada y no un fragmento de niño?
mDetector = new GestureDetectorCompat(this, new CustomGestureListener()); mScaleDetector = new ScaleGestureDetector(this, new CustomScaleGestureListener());
Y estoy anulando onTouchEvent de esta manera:
@Override public boolean onTouchEvent(MotionEvent event) { if (event.getPointerCount() > 1) { this.mScaleDetector.onTouchEvent(event); } else { this.mDetector.onTouchEvent(event); } return super.onTouchEvent(event); }
Mi problema es que los gestos no se detectan (aunque puedo abrir el cajón con un gesto de deslizamiento). Este problema no ocurre si reemplazo el tiro de cajón con, por ejemplo, un diseño lineal, por lo que la causa es el cajón de navegación. ¿Qué estoy haciendo mal?
- MultipartEntity y Json
- ¿Por qué SparseIntArray no implementa Map <Integer, Integer>?
- La importación android.support no se puede resolver
- ¿Cuál es la clase alternativa para AudioInputStream en java (Android)?
- ¿Cómo traducir código OpenCV-C ++, que contiene punteros, a JAVA?
- Código demasiado grande y demasiados errores constantes (Android Studio)
- ¿Por qué necesitamos 9 parches?
- JAVA - ¿Es un error en la clase java.util.Calendar o qué?
Usted tiene que fijar un TouchListener para su disposición del cajón. p.ej/
gestureDetector = new GestureDetector(this, new CustomGestureListener()); mDrawerLayout.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (gestureDetector.onTouchEvent(event)) { return true; } return false; } });
- Android: Media Player Duración Edición
- Depurar HTTPS peticiones / respuestas con Fiddler en Android Phone don `t trabajo