Ce à mettre en œuvre: ConstraintLayout
ou CoordinatorLayout
pour une bonne conception de matériaux android ?
Réponses
Trop de publicités?CoordinatorLayout est un super-alimenté FrameLayout.
Par défaut, si vous ajoutez plusieurs enfants à un FrameLayout, ils se superposent les uns aux autres. Un FrameLayout doit être utilisé le plus souvent pour contenir une seule vue enfant. Le principal attrait de la CoordinatorLayout est sa capacité à coordonner les animations et les transitions de la vue sur en son sein.
ConstraintLayout vous permet de créer des grands et des mises en page complexes avec une vue à plat de la hiérarchie (pas d'affichage imbriqué groupes). Il est similaire à la RelativeLayout dans tous les points de vue sont disposés selon des relations entre frère points de vue et la mère de mise en page, mais il est plus souple que le RelativeLayout et plus facile à utiliser avec Android Studio en page de l'Éditeur.
Ce qui pour mettre en œuvre ConstraintLayout ou CoordinatorLayout pour une bonne conception de matériaux android ?
Vous devrez peut-être utiliser à la fois ConstraintLayout et CoordinatorLayout de construire efficace de l'INTERFACE utilisateur et de matériel d'animations.
CoordinatorLayout est destiné à être le premier niveau de mise en page pour activité de gérer les Comportements par exemple, des interactions et des animations.
ConstraintLayouts'objectif principal est de fournir un moyen pratique pour créer un plat de mise en page avec plusieurs enfants (beaucoup plus puissant RelativeLayout).
Ainsi, le CoordinatorLayout est de gérer la complexité du comportement (en particulier les animations) de votre activité de composants, et ConstraintLayout pour les composants à l'emplacement approprié (en particulier les éléments de la liste).
Il semble que vous (presque) toujours utiliser un CoordinatorLayout
, et parfois utiliser un ConstraintLayout
à l'intérieur. Consultez les ressources suivantes
Le codelab à https://codelabs.developers.google.com/codelabs/material-design-style/index.html#3 utilise seulement un
CoordinatorLayout
-
L'exemple android-application de tournesol ("illustrant Android les bonnes pratiques de développement") utilise ni pour le haut-niveau de l'activité, mais utilise à la fois à l'intérieur de son
fragment_plant_detail.xml
, avec l'ConstraintLayout
étant à l'intérieur de l'CoordinatorLayout
:<layout ...> <data .../> <android.support.design.widget.CoordinatorLayout ...> <android.support.design.widget.AppBarLayout ...> <android.support.design.widget.CollapsingToolbarLayout ...> <ImageView... /> <android.support.v7.widget.Toolbar... /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView ...> <android.support.constraint.ConstraintLayout ...> <TextView.../> <TextView... /> </android.support.constraint.ConstraintLayout> </android.support.v4.widget.NestedScrollView> <android.support.design.widget.FloatingActionButton ... /> </android.support.design.widget.CoordinatorLayout> </layout>