Jeter un oeil à l'API rapport de diff pour la prévisualisation « L » Android, je vois que toutes les méthodes liées aux modes de navigation dans la ActionBar
classe ( par exemple setNavigationMode()
, addTab()
, selectTab()
, etc.). sont désormais obsolètes.
La documentation explique:
Les modes de navigation de la barre d'actions sont déconseillés et ne sont pas pris en charge par les barres d'actions de la barre d'outils en ligne. Envisagez plutôt d'utiliser d'autres modèles de navigation courants.
Quel est le remplacement supposé?
En outre, les «barres d'action de la barre d'outils en ligne» sont-elles un nouveau concept? Je ne pense pas en avoir entendu parler auparavant.
Réponses:
La nouvelle bibliothèque de support de conception Android ajoute TabLayout , fournissant une implémentation d'onglets qui correspond aux directives de conception des matériaux pour les onglets . Une procédure pas à pas complète sur la façon d'implémenter des onglets et
ViewPager
peut être trouvée dans cette vidéoMaintenant obsolète: le PagerTabStrip fait partie de la bibliothèque de support (et l'a été depuis un certain temps) et sert de remplacement direct. Si vous préférez les nouveaux onglets de style Google Play, vous pouvez utiliser la bibliothèque PagerSlidingTabStrip ou modifier l'un des exemples fournis par Google SlidingTabsBasic ou SlidingTabsColors comme expliqué dans cette vidéo Dev Bytes .
la source
NAVIGATION_MODE_LIST
est beaucoup plus facile, étant donné que tout ce qui a été fait était d'ajouter un Spinner et des aides de rappel.NAVIGATION_MODE_LIST
? Le mien le déclare obsolète ...Maintenant que les documents Android 5.0 sont disponibles, nous avons la documentation officielle du widget Toolbar :
Un
Toolbar
widget peut également être utilisé pour remplacer la barre d'actions:La dépréciation des onglets dans la barre d'actions est probablement due à cela, car les barres d'outils ne peuvent pas contenir d'onglet elles-mêmes.
En outre, il est disponible pour les versions Android précédentes via la bibliothèque compatible avec les applications. Voir cet article de Chris Banes pour plus d'informations. Un extrait:
la source
Il semble qu'ils aient ajouté une nouvelle classe nommée
android.widget.Toolbar
qui s'étendViewGroup
. Ils ont également ajouté une nouvelle méthodesetActionBar(Toolbar)
dansActivity
. Je ne l' ai pas encore testé, mais il semble que vous pouvez envelopper toutes sortes deTabWidgets
,Spinners
ou des vues personnalisées dans unToolbar
et l' utiliser comme votre actionbar.la source
Le nouveau
Toolbar
ne peut pas être utilisé pour gonfler plusieurs objets ligne, il est donc impossible d'y ajouter des tabulations.Si vous souhaitez utiliser un
Toolbar
comme un,TabWidget
vous pouvez y insérer des objets Tab, mais uniquement avec l'ancien style Holo.Ici, il existe une bibliothèque personnalisée qui utilise la v7
Toolbar
commeTabWidget
avec les nouvelles animations Material Design, mais elle utilise les mêmes méthodes que l'ancienneActionBar Tabs
, vous pouvez donc y attacher votreViewPager
.la source
Pour le «remplacement» d'ActionBar obsolète, j'ai changé le type de mes variables de type ActionBar en PagerTabStrip, selon (ancien code en commentaire):
Un «remplacement» du .selectTab (tabindex) de ~ actionBar consistait à utiliser la méthode .setCurrentItem (int) de mon ViewPager associé, comme ceci (ancien code en commentaire):
J'espère que cela vous sera utile.
la source
J'ai eu le même problème et cette solution me convenait très bien:
Dans le fichier xml de mise en page qui contient le viewpager, ajoutez le PagerTabStrip comme indiqué:
Pour contrôler les titres des pages, ajoutez une instruction switch à votre fichier ViewPager:
la source
FragmentTabHost est également une option.
Ce code provient du site du développeur Android:
la source
J'ai trouvé ces didacticiels utiles lors de la création d'une barre d'action (maintenant la `` barre d'outils '' - argh) qui prend en charge les onglets coulissants avec Material Design:
https://www.youtube.com/watch?v=Fl0xMuo10yA
http://www.exoguru.com/android/material-design/navigation/android-sliding-tabs-with-material-design.html
Vous devez en quelque sorte synthétiser ces ressources pour qu'elles correspondent à votre situation particulière. Par exemple, vous ne souhaiterez peut-être pas créer manuellement les onglets dans le même style que le didacticiel exoguru.com.
la source
Eh bien pour moi de gérer la barre d'outils de navigation obsolète en utilisant le widget appcompat de la barre d'outils v7.
la source
Je pense que le remplacement approprié lorsque vous avez trois à cinq écrans d'égale importance est le BottomNavigationActivity, cela peut être utilisé pour changer de fragments.
Vous remarquerez qu'un assistant existe pour cela dans Android Studio, faites attention cependant car Android Studio a tendance à produire un code de plaque de chaudière trop complexe.
Un tutoriel peut être trouvé ici: https://android.jlelse.eu/ultimate-guide-to-bottom-navigation-on-android-75e4efb8105f
Un autre tutoriel de qualité peut être trouvé sur Android Hive ici: https://www.androidhive.info/2017/12/android-working-with-bottom-navigation/
la source