En su forma más básica, la barra de acciones muestra el título de la actividad en un lado y un menú ampliado en el otro. Incluso en esta forma básica, la barra de la app proporciona información útil a los usuarios y les brinda a las apps para Android un aspecto coherente.
![Una imagen que muestra la barra de la app en la app de Now in Android](https://developer.android.com/static/images/ui/notifications/actions_actionbar.png?authuser=5&hl=es)
Todas las actividades que usan el tema predeterminado tienen una ActionBar
como barra de la app. Las funciones de la barra de la app se agregan al ActionBar
nativo en varias versiones de Android. Como resultado, el ActionBar
nativo se comporta de manera diferente según la versión de Android que use un dispositivo.
Por otro lado, las funciones se agregan a la versión de Toolbar
de la biblioteca de AndroidX AppCompat, lo que significa que están disponibles en dispositivos que usan las bibliotecas de AndroidX.
Por este motivo, usa la clase Toolbar
de la biblioteca de AndroidX para implementar las barras de la app de tus actividades. El uso de la barra de herramientas de la biblioteca de AndroidX hace que el comportamiento de tu app sea coherente en la más amplia variedad de dispositivos.
Cómo agregar una barra de herramientas a una actividad
En los siguientes pasos, se describe cómo configurar unToolbar
como la barra de la app de tu actividad:
- Agrega la biblioteca de AndroidX a tu proyecto, como se describe en la Descripción general de AndroidX.
- Asegúrate de que la actividad extienda
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- En el manifiesto de la app, configura el elemento
<application>
para usar uno de los temasNoActionBar
de AppCompat, como se muestra en el siguiente ejemplo. El uso de uno de estos temas evita que la app use la claseActionBar
nativa para proporcionar la barra de la app.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Agrega un elemento
Toolbar
al diseño de la actividad. Por ejemplo, el siguiente código de diseño agrega un objetoToolbar
y hace que este flote por encima de la actividad:<androidx.appcompat.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 obtener recomendaciones sobre la elevación de la barra de la app.
Ubica la barra de herramientas en la parte superior del diseño de la actividad, ya que la usarás como una barra de la app.
- En el método
onCreate()
de la actividad, llama al métodosetSupportActionBar()
de la actividad y pasa la barra de herramientas de la actividad, como se muestra en el siguiente ejemplo. Este método establece la barra de herramientas como la barra de la app de la actividad.Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // The Toolbar defined in the layout has the id "my_toolbar". setSupportActionBar(findViewById(R.id.my_toolbar)) }
Java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); }
Ahora tu app tiene una barra de acciones básica. De forma predeterminada, la barra de acciones contiene el nombre de la app y un menú ampliado, que inicialmente contiene el elemento Settings. Puedes agregar más acciones a la barra de acciones y al menú ampliado, como se describe en Cómo agregar y controlar acciones.
Cómo usar los métodos de utilidad de la barra de la aplicación
Una vez que configures la barra de herramientas como la barra de la app de una actividad, tendrás acceso a los métodos de utilidades que proporciona la clase ActionBar
de la biblioteca de AndroidX. Este enfoque te permite realizar acciones útiles, como ocultar y mostrar la barra de la app.
Para usar los métodos de utilidad ActionBar
, llama al método getSupportActionBar()
de la actividad. Este método muestra una referencia a un objeto ActionBar
de AppCompat.
Una vez que tengas esa referencia, podrás llamar a cualquiera de los métodos de ActionBar
para ajustar la barra de la app. Por ejemplo, para ocultar la barra de la app, llama a ActionBar.hide()
.