Cajón de navegación en Android

El cajón de navegación es la característica más común que ofrece Android y el cajón de navegación es un panel de interfaz de usuario que muestra el menú de navegación principal de su aplicación. También es uno de los elementos importantes de la interfaz de usuario, que proporciona acciones preferibles para los usuarios, como cambiar el perfil de usuario, cambiar la configuración de la aplicación, etc. En este artículo, se ha discutido paso a paso para implementar el cajón de navegación en Android. 

El cajón de navegación se desliza desde la izquierda y contiene los destinos de navegación para la aplicación.

El usuario puede ver el cajón de navegación cuando desliza un dedo desde el borde izquierdo de la actividad. También pueden encontrarlo desde la actividad del hogar tocando el ícono de la aplicación en la barra de acción. El icono del cajón se muestra en todos los destinos de nivel superior que utilizan un DrawerLayout. Echa un vistazo a la siguiente imagen para hacerte una idea sobre el cajón de navegación.

Navigation Drawer in Android

Pasos para implementar el cajón de navegación en Android

Paso 1: crea un proyecto de Android Studio

Paso 2: agregar una dependencia al proyecto

  • En esta discusión, vamos a utilizar el cajón de navegación de diseño de materiales.
  • Por lo tanto, agregue la siguiente dependencia de Material Design al archivo Gradle de nivel de aplicación.

implementación ‘com.google.android.material:material:1.3.0-alpha03’

  • Consulte la siguiente imagen si no puede ubicar el archivo Gradle de nivel de aplicación que invoca la dependencia (en la vista de jerarquía del proyecto).
  • Después de invocar la dependencia, haga clic en el botón « Sincronizar ahora « . Asegúrese de que el sistema esté conectado a la red para que Android Studio descargue los archivos necesarios.

Paso 3: Creación de un menú en la carpeta de menú

  • Cree la carpeta del menú debajo de la carpeta res. Para implementar el menú.
  • Consulte el siguiente video para crear el diseño para implementar el menú.
  • Invoque el siguiente código en el archivo navigation_menu.xml

XML

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="HardcodedText">
 
    <item
        android:id="@+id/nav_account"
        android:title="My Account" />
 
    <item
        android:id="@+id/nav_settings"
        android:title="Settings" />
 
    <item
        android:id="@+id/nav_logout"
        android:title="Logout" />
 
</menu>

 
Paso 4: trabajar con el archivo activity_main.xml

  • Invoque el siguiente código en el archivo activity_main.xml para configurar las cosas básicas requeridas para el cajón de navegación. 

XML

<?xml version="1.0" encoding="utf-8"?>
 
<!--the root view must be the DrawerLayout-->
<androidx.drawerlayout.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/my_drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:ignore="HardcodedText">
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">
 
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="128dp"
            android:gravity="center"
            android:text="GeeksforGeeks"
            android:textSize="18sp" />
 
    </LinearLayout>
 
    <!--this the navigation view which draws
        and shows the navigation drawer-->
    <!--include the menu created in the menu folder-->
    <com.google.android.material.navigation.NavigationView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        app:menu="@menu/navigation_menu" />
 
</androidx.drawerlayout.widget.DrawerLayout>

 
Interfaz de usuario de salida: 

  • Una cosa a tener en cuenta es que el ícono del cajón del menú aún no aparece en la barra de acción. Necesitamos configurar el ícono y su funcionalidad de abrir y cerrar mediante programación. 

Paso 5: Incluya las strings Open Close en el archivo string.xml 

  • Invoque el siguiente código en el archivo app/res/values/strings.xml. 

XML

<resources>
    <string name="app_name">Navigation Drawer</string>
 
    <!--to toggle the open close button
        of the navigation drawer-->
    <string name="nav_open">Open</string>
    <string name="nav_close">Close</string>
</resources>

Paso 6: trabajar con el archivo MainActivity.java

  • Invoque el siguiente código en el archivo MainActivity.java para mostrar el ícono de menú en la barra de acción e implementar la funcionalidad de abrir y cerrar del cajón de navegación.
  • Los comentarios se agregan dentro del código para una mejor comprensión.

Java

import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;
import android.os.Bundle;
import android.view.MenuItem;
 
public class MainActivity extends AppCompatActivity {
 
    public DrawerLayout drawerLayout;
    public ActionBarDrawerToggle actionBarDrawerToggle;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // drawer layout instance to toggle the menu icon to open
        // drawer and back button to close drawer
        drawerLayout = findViewById(R.id.my_drawer_layout);
        actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.nav_open, R.string.nav_close);
 
        // pass the Open and Close toggle for the drawer layout listener
        // to toggle the button
        drawerLayout.addDrawerListener(actionBarDrawerToggle);
        actionBarDrawerToggle.syncState();
 
        // to make the Navigation drawer icon always appear on the action bar
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }
 
    // override the onOptionsItemSelected()
      // function to implement
    // the item click listener callback
    // to open and close the navigation
      // drawer when the icon is clicked
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
 
        if (actionBarDrawerToggle.onOptionsItemSelected(item)) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

Salida : ejecutar en el emulador 

Publicación traducida automáticamente

Artículo escrito por adityamshidlyali y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *