web-dev-qa-db-fra.com

Android Lollipop Toolbar vs Vue personnalisée

Je viens de lire la nouvelle barre d'outils dans Android Lollipop. Elle hérite de ViewGroup.

Pourquoi les avantages de l'utilisation de la nouvelle barre d'outils sont-ils supérieurs, disons, à une présentation linéaire pour placer vos propres vues?

18
TomCB

Explication:

Vous devriez commencer à utiliser un ToolBar au lieu du ActionBar. Ceci est directement tiré de la documentation du développeur Android. Il permet plus de flexibilité que le ActionBar normal; cependant, il conserve certaines des fonctionnalités les plus importantes telles que l'ajout d'un Logo , prend en charge Navigation "up" , menus gonflables et actionsview telles que SearchView.

Tutoriels:

Implémentez-vous (par Chris Banes)

Barre d'outils de réduction, FloatingActionButton, NavigationView, Snackbar (par Chris Banes)

Documentation:

Normal Toolbar (API 21 +)

AppCompat Support v7 Toolbar (API 7 +)

Une barre d'outils standard à utiliser dans le contenu de l'application.

Une barre d'outils est une généralisation des barres d'action à utiliser dans les présentations d'application. Alors qu'une barre d'action fait traditionnellement partie du décor de fenêtre opaque d'une activité contrôlée par le cadre, une barre d'outils peut être placée à n'importe quel niveau arbitraire d'imbrication dans une hiérarchie de vues. Une application peut choisir de désigner une barre d'outils comme barre d'action pour une activité à l'aide de la méthode setActionBar ().

La barre d'outils prend en charge un ensemble de fonctionnalités plus ciblé que ActionBar. Du début à la fin, une barre d'outils peut contenir une combinaison des éléments facultatifs suivants:

Un bouton de navigation. Il peut s'agir d'une flèche vers le haut, d'une bascule du menu de navigation, d'une fermeture, d'une réduction, d'une opération ou d'un autre glyphe au choix de l'application. Ce bouton doit toujours être utilisé pour accéder à d'autres destinations de navigation dans le conteneur de la barre d'outils et son contenu signifié ou autrement laisser le contexte actuel signifié par la barre d'outils.

Une image de logo de marque. Cela peut s'étendre jusqu'à la hauteur de la barre et peut être arbitrairement large.

Un titre et un sous-titre. Le titre doit être un panneau indiquant la position actuelle de la barre d'outils dans la hiérarchie de navigation et le contenu qu'il contient. Le sous-titre, s'il est présent, doit indiquer toute information détaillée sur le contenu actuel. Si une application utilise une image de logo, elle devrait fortement envisager d'omettre un titre et un sous-titre.

Une ou plusieurs vues personnalisées. L'application peut ajouter des vues enfant arbitraires à la barre d'outils. Ils apparaîtront à cette position dans la mise en page. Si la barre d'outils d'une vue enfant.LayoutParams indique une valeur de gravité de CENTER_HORIZONTAL, la vue tentera de se centrer dans l'espace disponible restant dans la barre d'outils une fois que tous les autres éléments auront été mesurés.

Un menu d'actions. Le menu d'actions sera épinglé à la fin de la barre d'outils offrant quelques actions fréquentes, importantes ou typiques ainsi qu'un menu de débordement optionnel pour actions supplémentaires. Dans les versions modernes Android UI, les développeurs devraient s'appuyer davantage sur un schéma de couleurs visuellement distinct pour les barres d'outils que sur l'icône de leur application. L'utilisation de l'icône de l'application plus le titre comme disposition standard est déconseillée sur les appareils API 21 et les versions plus récentes .

42
Jared Burrows