¿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:
- Android cambia el ancho del panel del cajón de navegación mediante programación
- Lista plegable Elemento en la navegación Cajón
- La flecha hacia arriba no se muestra después de llamar a ActionBarDrawerToggle.setDrawerIndicatorEnabled (false)
- ¿Cómo mostrar la imagen de perfil de Facebook en el cajón de navegación android?
- Abra el cajón de navegación haciendo clic en el icono de la aplicación
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 desplazamiento de la bandeja de navegación de Android a la derecha
- Cajón arrastrable con un asa (en lugar de barra de acción) encima de otras aplicaciones
- El gaviota de navegación de Android no pasa onTouchEvent a la actividad
- LinearLayout $ LayoutParams no se puede convertir en android.support.v4.widget.DrawerLayout $ LayoutParams
- Cajón de navegación Android Studio 1.4
- Uso de syncState () en ActionBarDrawerToggle
- Cómo crear mini-menú de cajones en Android?
- Toque en cualquier lugar para deslizar el menú abierto para el cajón de navegación
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