En su forma más básica, la barra de acciones muestra el título de la actividad en una 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.
Todas las actividades que usan el tema predeterminado tienen un
ActionBar
como app
. Se agregan funciones de la barra de la app al ActionBar
nativo a través de varios
Versiones de Android Como resultado, la ActionBar
nativa se comporta de forma diferente.
según la versión de Android que use un dispositivo.
Por otro lado, se agregan funciones a la versión de la biblioteca AndroidX AppCompat de
Toolbar
,
lo que significa que esas funciones están disponibles en dispositivos que usan las bibliotecas de AndroidX.
Usa la clase Toolbar
de la biblioteca de AndroidX para implementar tus actividades
las barras de la aplicación
por este motivo. El uso de la barra de herramientas de la biblioteca de AndroidX hace que la versión
comportamiento coherente en la más amplia gama de dispositivos.
Cómo agregar una barra de herramientas a una actividad
En los siguientes pasos, se describe cómo configurar unaToolbar
como la barra de la app de tu actividad:
- Agrega la biblioteca de AndroidX a tu proyecto, como se describe en 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 la
<application>
para usar uno de los componentesNoActionBar
temas, como se muestra en el siguiente ejemplo. El uso de uno de estos temas evita que que tu app use la clase nativaActionBar
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 el código de diseño agrega unToolbar
y le da la apariencia de flotar arriba 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 de la barra de herramientas layout, ya que usas como una barra de la aplicación.
- En la sección de recursos
onCreate()
de forma manual, llama al métodosetSupportActionBar()
y pasa la barra de herramientas de la actividad, como se muestra en el siguiente ejemplo. Esta establece la barra de herramientas como la barra de la aplicación para 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 Configuración. 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 establezcas la barra de herramientas como la barra de la aplicación de una actividad, tendrás acceso a la utilidad
de la biblioteca de AndroidX
ActionBar
. Este enfoque te permite realizar acciones útiles, como ocultar y mostrar la barra de la app.
Para usar los métodos de utilidad de ActionBar
, llama al método
getSupportActionBar()
. 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 ActionBar
.
para ajustar la barra de la app. Por ejemplo, para ocultar la barra de la aplicación, llama
ActionBar.hide()