¿Cómo asociar el cajón de navegación al botón del arrastrador?
No estoy seguro de si esta es una pregunta común, no pude encontrar nada similar, pero tal vez simplemente no lo nombre correcto ..
Breve explicacion:
- Cómo resolver tipos inconvertibles no puede lanzar "Android.support.v4.app.fragment" a "nombre de paquete"
- No muestre la superposición con el Cajón de navegación de Android
- Android: NavigationDrawer / múltiples actividades / mismo menú
- El gaviota de navegación de Android no pasa onTouchEvent a la actividad
- Cómo crear un cajón de navegación suave
Estoy tratando de adjuntar a mi cajón de navegación, un botón (botón flotante) fuera de él para que el botón es visible incluso cuando el cajón está cerca, por lo que arrastrando el botón abre el cajón ..
Ejemplo de aplicación real:
Algunas aplicaciones como Waze tienen eso:
Mi intento
Así que antes de que me vuelva loco y los oyentes tacto de la instalación y las cosas molesto, intenté ir primero simple. Intenté simplemente agregar el botón dentro del NavigationView en el archivo del xml.
Heres mi acivity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_marginEnd="-80dp" android:text="drag me->" /> </android.support.design.widget.NavigationView>
También me he asegurado de añadir esta línea al padre:
android:clipChildren="false"
(Por lo que el botón será capaz de cruzar fuera de los boundries ..)
Y esto es lo que parece (en la vista previa):
En las pruebas reales, el botón está realmente en la ubicación como en la imagen, pero si el cajón está completamente cerrado, el botón desaparece.
Si abro el cajón un poco, el botón se vuelve visible.
De todos modos, el botón no responde al tacto .. No puedo cerrar el cajón arrastrando el botón.
Entonces … ¿qué puedo hacer para arreglar esto? ¿Estoy cerca? O debo empezar maldiciendo algunos oyentes de contacto?
Gracias por adelantado!
- Icono de Android ic_drawer.png en color blanco?
- El cajón de navegación no funciona en las versiones pre-ICS
- Animación de sugerencias de NavigationDrawer (como Google Currents)
- Cambiar el icono del cajón de nuevo a la flecha de retroceso
- Cajón de navegación para cambiar las actividades en lugar de fragmentos
- Android: cajón de navegación sin xml
- Adición de un diseño lineal al cajón de navegación (termina chocando con un ClassCastException)
- Cajón de navegación siempre visible (un poco)
Coloque el botón fuera de la vista de navegación
button.setOnClikclistener({ drawer.closeDrawer(GRAVITY) / drawer.openDrawer(GRAVITY) }
Si desea que el botón se mueva a lo largo del borde del cajón, tiene implementar comportamiento independiente para el botón utilizando el diseño del coordinador y los materiales
Esto puede venir en práctico https://www.bignerdranch.com/blog/customizing-coordinatorlayouts-behavior/
- PreferenceActivity validando la entrada del usuario y mostrando los mensajes de error
- Cómo obtener la fecha de caducidad de las suscripciones en la aplicación de Google Play