Dans sa forme la plus élémentaire, la barre d'action affiche le titre de l'activité d'un côté et un menu à développer de l'autre. Même dans cette forme de base, la barre d'application fournit des informations utiles aux utilisateurs et donne aux applications Android une apparence cohérente.
Toutes les activités qui utilisent le thème par défaut ont une ActionBar comme barre d'application. Les fonctionnalités de la barre d'application sont ajoutées à la ActionBar native dans différentes versions d'Android. Par conséquent, la ActionBar native se comporte différemment selon la version d'Android utilisée par un appareil.
En revanche, des fonctionnalités sont ajoutées à la version Toolbar de la bibliothèque AndroidX AppCompat, ce qui signifie que ces fonctionnalités 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 de garantir un comportement cohérent de votre application sur un large éventail d'appareils.
Ajouter une barre d'outils à une activité
Ces étapes décrivent comment configurer uneToolbar 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 d'application, configurez l'élément
<application>pour qu'il utilise l'un des thèmesNoActionBard'AppCompat, comme illustré dans l'exemple suivant. L'utilisation de l'un de ces thèmes empêche l' application d'utiliser la classeActionBarnative pour fournir la barre d'application.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- Ajoutez une
Toolbarà la mise en page de l'activité. Par exemple, le code de mise en page suivant ajoute unToolbaret lui donne l'apparence d'un élément flottant 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"/>
Pour obtenir des recommandations concernant l'élévation de la barre d'application, consultez la spécification Material Design.
Placez 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 de 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 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 opérations 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 n'importe quelle méthode ActionBar pour ajuster la barre d'application. Par exemple, pour masquer la barre d'application, appelez ActionBar.hide().