204 votes

Modes de navigation bar action sont déconseillés dans L Android

En prenant un coup d'oeil à l'API diff rapport de l'Android "L" preview, je vois que toutes les méthodes liées aux modes de navigation dans l' ActionBar classe setNavigationMode(), addTab(), selectTab(), &c). sont désormais obsolète.

La documentation explique:

Barre d'Action modes de navigation sont obsolètes et non pris en charge par inline barre d'outils les barres d'action. Envisager l'utilisation d'autres modèles de navigation au lieu de cela.

Qu'est-ce que la supposée de remplacement?

Aussi, est "en ligne de la barre d'outils les barres d'action" un nouveau concept? Je ne pense pas que j'en ai entendu parler avant.

179voto

ianhanniballake Points 18370

Le PagerTabStrip fait partie de la bibliothèque de prise en charge (et a été pendant un certain temps) et sert comme un remplacement direct. Si vous préférez la plus récente de Google Play style des onglets, vous pouvez utiliser le PagerSlidingTabStrip de la bibliothèque ou de la modifier, soit de le Google fourni des exemples SlidingTabsBasic ou SlidingTabsColors comme expliqué dans ce Dev Octets vidéo.

20voto

matiash Points 14851

Maintenant que Android 5.0 docs sont disponibles, nous avons la documentation officielle de la Barre d'outils widget:

Une barre d'outils standard pour l'utilisation dans le contenu de l'application.

Une Barre d'outils est une généralisation de barres d'action pour l'utilisation dans l'application des dispositions. Tandis qu'une barre d'action est traditionnellement le cadre d'un L'activité de la fenêtre opaque décor contrôlé par le cadre, une Barre d'outils peut être placé à n'importe quel niveau de la nidification dans la vue la hiérarchie.

Un Toolbar widget peut également être utilisé pour remplacer la barre d'action:

Une application peut choisir de désigner une Barre d'outils la barre d'action pour une Activité à l'aide de l' setActionBar() méthode.

La dépréciation des onglets dans la barre d'action est probablement pour cette raison, depuis les barres d'outils ne peut pas contenir onglet eux-mêmes.

Aussi, il est disponible pour les précédentes Android verions via le appcompat de la bibliothèque. Voir ce post par Chris Banes pour plus d'informations. Un extrait:

Android 5.0 introduit une nouvelle Barre d'outils widget. C'est une généralisation de l'ActionBar modèle mais il vous donne beaucoup plus de contrôle et de la souplesse dans l'utilisation il. Barre d'outils est une vue de votre hiérarchie comme tout autre, en le rendant plus facile à interleave avec le reste de vos points de vue, animer, de réagir à des événements de défilement.

13voto

Kuno Points 692

Il semble qu’ils ont ajouté une nouvelle classe nommée qui s’étend . Aussi, ils ont ajouté une nouvelle méthode dans . Je n’ai pas encore testé, mais il semble que vous pouvez encapsuler toutes sortes de , ou des vues personnalisées dans un `` et l’utiliser comme votre Actionbar.

4voto

NeoKree Points 86

Le nouveau Toolbar ne peut pas être utilisé pour gonfler les multiples objets de ligne, de sorte qu'il est impossible d'ajouter des Onglets.
Si vous souhaitez utiliser un Toolbar comme TabWidget vous pouvez insérer des Objets Tab, mais seulement avec l'ancien style Holo.

Ici, il y a une Bibliothèque personnalisée qui utilise v7 Toolbar comme TabWidget avec la nouvelle Conception de Matériel d'animations, mais il utilise les mêmes méthodes de l'ancien ActionBar Tabs, de sorte que vous pouvez attacher à votre ViewPager .

3voto

applesauced Points 1

Pour « remplacement » de ActionBar obsolète, j’ai changé le type de mes variables de type ActionBar à PagerTabStrip, selon (ancien code en commentaire) :

Un « remplacement » pour ~ .selectTab(tabindex) d’actionBar était d’utiliser la méthode de .setCurrentItem(int) de mon ViewPager associé, comme cet (ancien code en commentaire) :

Espérons que ce sera utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X