J'ai récemment installé Android Studio et j'ai commencé à coder une activité destinée à étendre ActionBarActivity
et elle a montré que celle-ci était obsolète. Alors, comment puis-je configurer une barre d'action pour mon activité. De plus, la formation de mise en route utilise la variable ActionBarActivity
sans indiquer qu’elle est obsolète.
ActionBar est obsolète depuis que Toolbar
a été introduit. Toolbar
peut être considéré comme un "sur-ensemble" de toute barre d'action. Ainsi, le 'vieux' ActionBar
est maintenant un exemple de Toolbar
. Si vous souhaitez une fonctionnalité similaire, mais sans avertissement de dépréciation, procédez comme suit:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
toolbar.setTitle(R.string.app_name);
setSupportActionBar(toolbar);
}
Vous devez définir le Toolbar
dans votre layout xml:
<Android.support.v7.widget.Toolbar
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/toolbar"
Android:minHeight="?attr/actionBarSize"
Android:background="?attr/colorPrimary"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
Android:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</Android.support.v7.widget.Toolbar>
Avec cette nouvelle fonctionnalité, vous pouvez créer votre propre ActionBar
personnalisé et laisser Android faire le gros du travail. Créez simplement votre propre vue personnalisée qui s'étend de Toolbar
.
De plus, vous devez utiliser AppCompatActivity
au lieu de ActionBarActivity
, il a été introduit dans la dernière version de la bibliothèque appcompat. Alors n'oubliez pas de mettre à jour Gradle
compile 'com.Android.support:appcompat-v7:22.1.1'
Voici la réponse du publier dans Android blog des développeurs :
"ActionBarActivity est déconseillé en faveur de la nouvelle AppCompatActivity. "
Vous pouvez en lire plus à ce sujet ici.
Cette réponse donne un moyen simple d'éliminer le message d'erreur. Vous pouvez voir comme une addition à d'autres.
Lorsque nous modifions la classe d'activité parent:
ActionBarActivity
enAppCompatActivity
, le message d'erreur disparaîtra.
Vous pouvez cliquer ici pour plus d'informations.