Configurer la barre d'application

Essayer Compose
Jetpack Compose est le kit d'outils d'interface utilisateur recommandé pour Android. Découvrez comment ajouter des composants dans Compose.

Dans sa forme la plus simple, la barre d'action affiche le titre de l'activité d'un côté et un menu à développer de l'autre. Même sous cette forme de base, la barre d'application fournit des informations utiles aux utilisateurs et donne aux applications Android un aspect cohérent.

Image montrant la barre d'application dans l'application Maintenant sur Android
Image 1. Barre d'application avec une icône d'action dans l'application "Nouveautés sur Android".

Toutes les activités qui utilisent le thème par défaut ont un ActionBar comme barre d'application. Les fonctionnalités de la barre d'application sont ajoutées au ActionBar natif dans différentes versions d'Android. Par conséquent, le ActionBar natif se comporte différemment selon la version d'Android utilisée par l'appareil.

En revanche, des fonctionnalités sont ajoutées à la version de Toolbar de la bibliothèque AndroidX AppCompat, ce qui signifie qu'elles sont disponibles sur les appareils qui utilisent les bibliothèques AndroidX.

Pour cette raison, utilisez la classe Toolbar de la bibliothèque AndroidX pour implémenter les barres d'application de vos activités. L'utilisation de la barre d'outils de la bibliothèque AndroidX rend le comportement de votre application cohérent sur la plus grande variété d'appareils possible.

Ajouter une barre d'outils à une activité

Voici comment configurer un Toolbar en tant que barre d'application de votre activité :
  1. Ajoutez la bibliothèque AndroidX à votre projet, comme décrit dans la présentation d'AndroidX.
  2. Assurez-vous que l'activité étend AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. Dans le fichier manifeste de l'application, définissez l'élément <application> pour utiliser l'un des thèmes NoActionBar d'AppCompat, comme illustré dans l'exemple suivant. L'utilisation de l'un de ces thèmes empêche l'application d'utiliser la classe ActionBar native pour fournir la barre d'application.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. Ajoutez un Toolbar à la mise en page de l'activité. Par exemple, le code de mise en page suivant ajoute un Toolbar et lui donne l'apparence de flotter au-dessus de l'activité:
    <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"/>

    Consultez la spécification Material Design pour obtenir des recommandations concernant l'élévation de la barre d'application.

    Positionnez la barre d'outils en haut de la mise en page de l'activité, car vous l'utilisez comme barre d'application.

  5. Dans la méthode onCreate() de l'activité, appelez la méthode setSupportActionBar() de l'activité et transmettez la barre d'outils de l'activité, comme illustré dans l'exemple suivant. Cette méthode définit la barre d'outils comme barre d'application pour l'activité.

    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);
    }

Votre application dispose désormais d'une barre d'action de base. Par défaut, la barre d'action contient le nom de l'application et un menu à développer, qui contient initialement l'élément Paramètres. Vous pouvez ajouter d'autres actions à la barre d'action et au menu à développer, comme décrit dans la section Ajouter et gérer des actions.

Utiliser les méthodes utilitaires de la barre d'application

Une fois que vous avez défini la barre d'outils en tant que barre d'application d'une activité, vous avez accès aux méthodes utilitaires fournies par la classe ActionBar de la bibliothèque AndroidX. Cette approche vous permet d'effectuer des actions utiles, comme masquer et afficher la barre d'application.

Pour utiliser les méthodes utilitaires ActionBar, appelez la méthode getSupportActionBar() de l'activité. Cette méthode renvoie une référence à un objet ActionBar AppCompat. Une fois cette référence obtenue, vous pouvez appeler l'une des méthodes ActionBar pour ajuster la barre d'application. Par exemple, pour masquer la barre d'application, appelez ActionBar.hide().