Dans sa forme la plus basique, 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 harmonise l'apparence des applications 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 un appareil.
D'autre part, des fonctionnalités sont ajoutées à la version de Toolbar
de la bibliothèque AppCompat AndroidX, 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 permet d'harmoniser le comportement de votre application sur un large éventail d'appareils.
Ajouter une barre d'outils à une activité
Ces étapes décrivent comment configurer unToolbar
comme 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 qu'il utilise 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 élément
Toolbar
à la mise en page de l'activité. Par exemple, le code de mise en page suivant ajoute un élémentToolbar
et lui donne l'impression 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 Settings (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 comme 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 que vous disposez de cette référence, 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()
.