En su forma más básica, la barra de acciones muestra el título de la actividad en un lado y un menú de desbordamiento en el otro. Incluso en esta forma sencilla, la barra de aplicaciones proporciona información útil a los usuarios y ayuda a dar a las aplicaciones de Android un aspecto y una sensación coherentes.

Figura 1. Una barra de aplicaciones con el título de la aplicación y el menú de desbordamiento.

A partir de Android 3.0 (nivel de API 11), todas las actividades que utilizan el tema por defecto tienen un ActionBar como barra de aplicaciones. Sin embargo, las características de la barra de aplicaciones se han añadido gradualmente a la ActionBar nativa a lo largo de varias versiones de Android. Como resultado, la ActionBar nativa se comporta de manera diferente dependiendo de la versión del sistema Android que pueda estar utilizando un dispositivo. Por el contrario, las características más recientes se añaden a la versión de Toolbar de la biblioteca de soporte, y están disponibles en cualquier dispositivo que pueda utilizar la biblioteca de soporte.

Por esta razón, debes utilizar la clase Toolbar de la biblioteca de soporte para implementar las barras de aplicaciones de tus actividades. El uso de la barra de herramientas de la biblioteca de soporte ayuda a asegurar que su aplicación tendrá un comportamiento consistente en la más amplia gama de dispositivos. Por ejemplo, el widget Toolbar proporciona una experiencia de material design en dispositivos que ejecutan Android 2.1 (nivel de API 7) o posterior, pero la barra de acciones nativa no es compatible con material design a menos que el dispositivo ejecute Android 5.0 (nivel de API 21) o posterior.

Agregar una barra de herramientas a una actividad

Estos pasos describen cómo configurar una Toolbarcomo barra de aplicaciones de su actividad:

  1. Agregar la biblioteca de soporte de appcompat v7 a su proyecto, como se describe en Configuración de la biblioteca de soporte.
  2. Asegúrate de que la actividad extiende AppCompatActivity:

    Kotlin

    class MyActivity : AppCompatActivity() { // ...}

    Java

    public class MyActivity extends AppCompatActivity { // ...}

    Nota: Realiza este cambio para cada actividad de tu app que utilice un Toolbar como barra de app.

  3. En el manifiesto de la aplicación, establezca el elemento <application> para utilizar uno de los temas NoActionBar de appcompat. El uso de uno de estos temas evita que la aplicación utilice la clase nativa ActionBar para proporcionar la barra de aplicaciones. Por ejemplo:
    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
  4. Agrega un Toolbar al layout de la actividad. Por ejemplo, el siguiente código de diseño añade un Toolbar y le da la apariencia de flotar sobre la actividad:
    <android.support.v7.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

    Consulta la especificación de Material Design para conocer las recomendaciones sobre la elevación de la barra de la aplicación.

    Coloca la barra de herramientas en la parte superior del diseño de la actividad, ya que la estás usando como barra de la app.

  5. En el método onCreate() de la actividad, llama al método setSupportActionBar() de la actividad, y pasa la barra de herramientas de la actividad. Este método establece la barra de herramientas como la barra de la aplicación para la actividad. Por ejemplo:

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // Note that the Toolbar defined in the layout has the id "my_toolbar" setSupportActionBar(findViewById(R.id.my_toolbar))}

    Java

    @Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar);}

Tu aplicación tiene ahora una barra de acciones básica. Por defecto, la barra de acciones contiene sólo el nombre de la aplicación y un menú de desbordamiento. El menú de opciones contiene inicialmente sólo el elemento Configuración. Puedes añadir más acciones a la barra de acciones y al menú de desbordamiento, como se describe en Añadir y manejar acciones.

Utilizar los métodos de utilidad de la barra de aplicaciones

Una vez que configures la barra de herramientas como barra de aplicaciones de una actividad, tendrás acceso a los diversos métodos de utilidad proporcionados por la clase ActionBar de la biblioteca de soporte de appcompat v7. Este enfoque le permite hacer una serie de cosas útiles, como ocultar y mostrar la barra de aplicaciones.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.