style example error coordinatorlayout constraint android material-design android-constraintlayout coordinator-layout

android - error - coordinatorlayout example



¿Disposición de la restricción frente a la disposición del coordinador? (3)

CoordinatorLayout

CoordinatorLayout es un FrameLayout superpoblado.

De forma predeterminada, si agrega varios elementos secundarios a un FrameLayout, se superpondrán entre sí. Un FrameLayout se debe usar con mayor frecuencia para mantener una única vista secundaria. El principal atractivo de CoordinatorLayout es su capacidad para coordinar las animaciones y las transiciones de las vistas dentro de él.

ConstraintLayout

ConstraintLayout le permite crear diseños grandes y complejos con una jerarquía de vista plana (sin grupos de vista anidados). Es similar a RelativeLayout porque todas las vistas se presentan de acuerdo con las relaciones entre las vistas de hermanos y el diseño principal, pero es más flexible que RelativeLayout y más fácil de usar con el Editor de diseño de Android Studio.

¿Qué implementar RestraintLayout o CoordinatorLayout para un diseño de material adecuado en android?

Es posible que necesite usar tanto RestriccionesDeLiminación como CoordinatorLayout para crear una interfaz de usuario eficiente y animaciones de materiales.

¿Qué implementar: ConstraintLayout o CoordinatorLayout para el diseño de material adecuado en Android?


Parece que usas (casi) siempre un CoordinatorLayout , y algunas veces usas un ConstraintLayout dentro. Vea los siguientes recursos

  • El codelab en https://codelabs.developers.google.com/codelabs/material-design-style/index.html#3 solo usa un CoordinatorLayout

  • El ejemplo de la aplicación android-sunflower ("que ilustra las mejores prácticas de desarrollo de Android") no usa ni para la actividad de nivel superior, pero usa ambos dentro de su fragment_plant_detail.xml , con ConstraintLayout dentro del 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>


CoordinatorLayout está destinado a ser el diseño de nivel superior de la actividad para administrar los Behaviors por ejemplo, interacciones y animaciones.

El objetivo principal de ConstraintLayout es proporcionar una forma conveniente de crear un diseño plano con varios elementos secundarios (RelativeLayout mucho más potente).

Por lo tanto, CoordinatorLayout debe administrar el comportamiento complejo (especialmente las animaciones) de los componentes de su actividad, y ConstraintLayout para la ubicación adecuada de los componentes (especialmente los elementos de la lista).