DrawerNavigation
El componente DrawerNavigation de nuestra biblioteca es un elemento de navegación versátil que se utiliza habitualmente en aplicaciones móviles y web para proporcionar a los usuarios acceso a varias pantallas, funciones o configuraciones. Por lo general, aparece como un panel lateral que se puede deslizar desde el borde de la pantalla o alternar con un botón de menú. DrawerNavigation organiza el contenido y la funcionalidad de la aplicación en una estructura de menú jerárquica, lo que permite a los usuarios navegar entre diferentes secciones o vistas de manera eficiente. Ofrece una forma conveniente de acceder a funciones, configuraciones u opciones de navegación de uso menos frecuente sin saturar la interfaz principal.
Uso
Uso básico
import {View} from 'react-native';
import {DrawerNavigation} from 'rn-inkpad';
const MyComponent = () => {
return (
<View style={{flex: 1}}>
<DrawerNavigation />
</View>
);
};
Props
Nombre | Tipo | Predeterminado | Descripción |
---|---|---|---|
backgroundColor | string | #464EE5 | Color de fondo. |
closeIcon | string | close | Icono para cerrar el drawer. |
collapseIcon | string | chevron-up | Icono para contraer grupos del drawer. |
expandIcon | string | chevron-down | Icono para expandir grupos de drawer. |
fontSize | number | 18 | Tamaño de la fuente de cada elemento. |
icon | string | menu | Icono para abrir el drawer. |
iconColor | string | Color del icono de control del drawer. | |
iconSize | number | 35 | Tamaño del icono de control del drawer. |
iconTop | number | 50 | Separación entre la parte superior y el icono de control del drawer. |
image | ImageSourcePropType | Por lo general, es el logotipo de la aplicación el que va en la parte superior del drawer. | |
imageStyles | StyleProp<ImageStyle> | Estilos personalizados para la imagen. | |
itemIconSize | number | 19 | Tamaño del icono de cada elemento. |
items | Item[] | Arreglo de elementos o grupo de elementos en el drawer. | |
textColor | string | Color de texto de los elementos. | |
textStyles | StyleProp<TextStyle> | Estilos personalizados para el texto de los elementos. | |
widthPercent | number | 65 | Porcentaje de ancho que el drawer ocupará en la pantalla. |
Item
En el arreglo de elementos puedes enviar elementos del tipo DrawerItem o DrawerGroup.
Si envías un DrawerGroup se mostrará como una lista desplegable en el DrawerNavigation.
DrawerGroup props
Nombre | Tipo | Requerido | Descripción |
---|---|---|---|
icon | string | SI | Icono del elemento. |
items | DrawerItem[] | SI | Lista de elementos desplegables. |
text | string | SI | Texto del elemento. |
DrawerItem props
Nombre | Tipo | Requerido | Descripción |
---|---|---|---|
icon | string | SI | Icono del elemento. |
text | string | SI | Texto del elemento. |
onPress | () => void | NO | Función que es llamada al presionar el elemento. |
Esta navegación solo proporciona el estilo para su navegación, sin embargo, para navegar a diferentes pantallas debe instalar un paquete de navegación.
Uso con props
import {View} from 'react-native';
import {BottomTabNavigation} from 'rn-inkpad';
import Logo from './assets/rn-logo.png';
const MyComponent = () => {
return (
<View style={{flex: 1}}>
<DrawerNavigation
backgroundColor="#BEF0F3"
image={Logo}
items={[
{icon: 'home', text: 'Home', onPress: () => console.log('Home')},
{
text: 'User',
icon: 'person',
items: [
{
icon: 'person',
text: 'Profile',
onPress: () => console.log('Profile'),
},
{
icon: 'time',
text: 'History',
onPress: () => console.log('History'),
},
{
icon: 'star',
text: 'Starred',
onPress: () => console.log('Starred'),
},
],
},
{
icon: 'cog',
text: 'Settings',
onPress: () => console.log('Settings'),
},
]}
/>
</View>
);
};