Dans sa forme la plus basique, la barre d’action affiche le titre de l’activité d’un côté et un menu de débordement de l’autre. Même sous cette forme simple, la barre d’apps fournit des informations utiles aux utilisateurs et contribue à donner aux apps Android un aspect et une sensation cohérents.

Figure 1. Une barre d’app avec le titre de l’app et le menu de débordement.

À partir d’Android 3.0 (niveau 11 de l’API), toutes les activités qui utilisent le thème par défaut ont un ActionBar comme barre d’app. Cependant, les fonctionnalités de la barre d’apps ont été progressivement ajoutées à la ActionBar native au fil des différentes versions d’Android. Par conséquent, la ActionBar native se comporte différemment selon la version du système Android qu’un appareil peut utiliser. En revanche, les fonctionnalités les plus récentes sont ajoutées à la version Toolbar de la bibliothèque de support, et elles sont disponibles sur tout appareil pouvant utiliser la bibliothèque de support.

Pour cette raison, vous devriez utiliser la classe Toolbar de la bibliothèque de support pour mettre en œuvre les barres d’application de vos activités. L’utilisation de la barre d’outils de la bibliothèque de support permet de garantir que votre app aura un comportement cohérent sur le plus grand nombre de périphériques. Par exemple, le widget Toolbar offre une expérience de conception matérielle sur les appareils fonctionnant sous Android 2.1 (niveau 7 de l’API) ou plus, mais la barre d’action native ne prend pas en charge la conception matérielle à moins que l’appareil ne fonctionne sous Android 5.0 (niveau d’API 21) ou plus récent.

Ajouter une barre d’outils à une activité

Ces étapes décrivent comment configurer une Toolbarbarre d’apps de votre activité :

  1. Ajouter la bibliothèque de support v7 appcompat à votre projet, comme décrit dans Configuration de la bibliothèque de support.
  2. Assurez-vous que l’activité étend AppCompatActivity:

    Kotlin

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

    Java

    public class MyActivity extends AppCompatActivity { // ...}

    Remarque : Effectuez cette modification pour chaque activité de votre app qui utilise un Toolbar comme barre d’app.

  3. Dans le manifeste de l’app, définissez l’élément <application> pour utiliser l’un des thèmes NoActionBar d’appcompat. L’utilisation de l’un de ces thèmes empêche l’app d’utiliser la classe native ActionBar pour fournir la barre d’app. Par exemple :
    <application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
  4. Ajouter un Toolbar à la disposition de l’activité. Par exemple, le code de disposition suivant ajoute un Toolbar et lui donne l’apparence de flotter au-dessus de l’activité :
    <android.support.v7.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"/>

    Voir la spécification Material Design pour les recommandations concernant l’élévation de la barre d’app.

    Positionnez la barre d’outils en haut de la mise en page de l’activité, puisque vous l’utilisez comme une barre d’app.

  5. Dans la méthode onCreate() de l’activité, appelez la méthode setSupportActionBar() de l’activité, et passez la barre d’outils de l’activité. Cette méthode définit la barre d’outils comme la barre d’app pour l’activité. Par exemple:

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // Note that the Toolbar defined in the layout has the id "my_toolbar" setSupportActionBar(findViewById(R.id.my_toolbar))}

    Java

    @Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar);}

Votre application a maintenant une barre d’action de base. Par défaut, la barre d’action contient juste le nom de l’app et un menu de débordement. Le menu d’options ne contient initialement que l’élément Paramètres. Vous pouvez ajouter d’autres actions à la barre d’action et au menu de débordement, comme décrit dans la section Ajout et traitement des actions.

Utiliser les méthodes utilitaires de la barre d’app

Une fois que vous avez défini la barre d’outils comme la barre d’app d’une activité, vous avez accès aux diverses méthodes utilitaires fournies par la classe ActionBar de la bibliothèque de support v7 appcompat. Cette approche vous permet de faire un certain nombre de choses utiles, comme masquer et afficher la barre d’app.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.