DrawerLayoutAndroid es un componente nativo exclusivo para Android.
Permite implementar un menú lateral deslizante (también conocido como drawer navigation o sidebar), similar al que se ve comúnmente en muchas aplicaciones móviles.
Muestra un panel deslizable desde el borde izquierdo o derecho de la pantalla. Dentro de este panel puedes poner cualquier contenido, como un menú de navegación.
El componente DrawerLayoutAndroid contiene dos secciones principales:
renderNavigationView: El contenido del menú lateral.children: El contenido principal de la aplicación.El DrawerLayoutAndroid permite abrir y cerrar el menú deslizando desde el borde de la pantalla o programáticamente.
Este es un ejemplo básico que muestra cómo implementar un menú lateral utilizando DrawerLayoutAndroid.
import React, { useState } from 'react';
import { DrawerLayoutAndroid, Text, View, Button, StyleSheet } from 'react-native';
const App = () => {
let drawer = null;
const renderNavigationView = () => (
<View style={styles.menu}>
<Text style={styles.menuItem}>Item 1</Text>
<Text style={styles.menuItem}>Item 2</Text>
<Text style={styles.menuItem}>Item 3</Text>
<Button
title="Cerrar Menú"
onPress={() => drawer.closeDrawer()}
/>
</View>
);
return (
<DrawerLayoutAndroid
ref={(ref) => (drawer = ref)}
drawerWidth={300}
renderNavigationView={renderNavigationView}
>
<View style={styles.container}>
<Text>Contenido Principal</Text>
<Button title="Abrir Menú" onPress={() => drawer.openDrawer()} />
</View>
</DrawerLayoutAndroid>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
menu: {
flex: 1,
backgroundColor: '#ddd',
padding: 20,
},
menuItem: {
fontSize: 20,
marginVertical: 10,
},
});
export default App; DrawerLayoutAndroiddrawerWidth: Establece el ancho del menú lateral. El valor por defecto es 300.renderNavigationView: Función que devuelve el contenido que se mostrará en el menú lateral.openDrawer(): Método utilizado para abrir el menú lateral programáticamente.closeDrawer(): Método utilizado para cerrar el menú lateral programáticamente.onDrawerOpen: Evento que se dispara cuando el menú se abre.onDrawerClose: Evento que se dispara cuando el menú se cierra.Se puede abrir y cerrar el menú de manera programática utilizando los métodos openDrawer() y closeDrawer().
Aquí tienes un ejemplo de cómo hacerlo:
const openMenu = () => {
drawer.openDrawer(); // Abre el menú
};
const closeMenu = () => {
drawer.closeDrawer(); // Cierra el menú
}; Puedes controlar el comportamiento del menú, como si se debe abrir desde el borde izquierdo o derecho, utilizando propiedades como drawerPosition.
drawerPosition: Establece la posición del menú. Puede ser left (predeterminado) o right.<DrawerLayoutAndroid
ref={(ref) => (drawer = ref)}
drawerWidth={300}
renderNavigationView={renderNavigationView}
drawerPosition="right" // Menú en el lado derecho
>
<View style={styles.container}>
<Text>Contenido Principal</Text>
<Button title="Abrir Menú" onPress={() => drawer.openDrawer()} />
</View>
</DrawerLayoutAndroid> DrawerLayoutAndroid es un componente fundamental en React Native para crear menús laterales en aplicaciones Android. Permite que los usuarios deslicen el dedo desde el borde izquierdo (o derecho) de la pantalla para acceder a un menú con opciones adicionales. A través de este componente, se puede crear una navegación fluida y accesible para aplicaciones Android.