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.
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 unToolbar
en tant que barre d'application de votre activité :
- Ajoutez la bibliothèque AndroidX à votre projet, comme décrit dans la présentation d'AndroidX.
- Assurez-vous que l'activité étend
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- Dans le fichier manifeste de l'application, définissez l'élément
<application>
pour utiliser l'un des thèmesNoActionBar
d'AppCompat, comme illustré dans l'exemple suivant. L'utilisation de l'un de ces thèmes empêche l'application d'utiliser la classeActionBar
native pour fournir la barre d'application.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Ajoutez un
Toolbar
à la mise en page de l'activité. Par exemple, le code de mise en page suivant ajoute unToolbar
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.
- Dans la méthode
onCreate()
de l'activité, appelez la méthodesetSupportActionBar()
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()
.