Android: Qué práctica es mejor para usar CoordinatorLayout
Soy nuevo al aspecto del diseño material del androide. Por lo tanto, por favor, tenga paciencia conmigo. Intenté implementar el FAB para mi actividad en casa, y luego implementé el snackbar. Naturalmente, llegó por encima de mi FAB. He investigado en CoordinatorLayout y lo que me molesta es cuál es una mejor práctica para el uso de un CoordinatorLayout?
Por ejemplo, aquí está el xml de mi actividad.
- ¿Por qué mostrar error inesperado prefijo de nombre xmlns en android?
- Android convertir vista XML a mapa de bits sin mostrarlo
- Cómo agregar un texto largo con muchos párrafos en string.xml en android
- ¿Cómo extender ImageButton correctamente?
- ¿Cómo lleno un ListView (en Android) con datos XML o JSON?
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary_color"></android.support.v7.widget.Toolbar> <android.support.design.widget.FloatingActionButton android:id="@+id/searchfab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_marginBottom="20dp" android:layout_marginRight="20dp" android:src="@drawable/ic_add_black_24dp" app:fabSize="normal"> </android.support.design.widget.FloatingActionButton> </RelativeLayout>
Vi a otras personas añadiendo CoordinatorLayout como esto.
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary_color"></android.support.v7.widget.Toolbar> <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.FloatingActionButton android:id="@+id/searchfab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginBottom="20dp" android:layout_marginRight="20dp" android:src="@drawable/ic_add_black_24dp" app:fabSize="normal"> </android.support.design.widget.FloatingActionButton> </android.support.design.widget.CoordinatorLayout> </RelativeLayout>
Mi pregunta es, ¿podemos usar <android.support.design.widget.CoordinatorLayout>
como la raíz de todos los elementos. Anular o quitar completamente el <RelativeLayout>
.
Así que el xml se convierte así.
<android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary_color"> <android.support.design.widget.FloatingActionButton android:id="@+id/searchfab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginBottom="20dp" android:layout_marginRight="20dp" android:src="@drawable/ic_add_black_24dp" app:fabSize="normal"> </android.support.design.widget.FloatingActionButton> </android.support.design.widget.CoordinatorLayout>
Y <RelativeLayout>
se elimina completamente. Así que en lugar de usar </android.support.design.widget.CoordinatorLayout>
solo para FAB, lo usamos para toda la actividad. Como CoordinatorLayout se enfoca en hacer que las vistas de los niños trabajen coordinadas, ¿no es mejor si todos los elementos trabajan en coordinación unos con otros? ¿Cuáles son las ventajas y desventajas de hacerlo de alguna manera?
- cómo enviar los datos xml al servidor en android
- CollapsingToolbarLayout | Problemas de desplazamiento y diseño 2
- RecyclerView Varias vistas de disposición en una clase de adaptador
- Interpolador personalizado de referencia para la animación de vistas en XML
- Android: uso del diseño XML desde el almacenamiento interno
- "El inicio de la etiqueta no está cerrado" al comentar dentro de la etiqueta de inicio y fin del elemento XML
- Escapar comillas simples en el recurso xml para Android
- Icono de elemento del cajón de navegación que no muestra el color original
CoordinatorLayout es relativamente nuevo y resuelve muchos problemas con FloatingActionButton y NavDrawer. Así que si usted debe tener FAB o NavDrawer definitivamente recomendaría usar CoordinatorLayout como su disposición de nivel superior de ahora en adelante (su último fragmento de código) y dentro de él puede tener RelativeLayout o LinearLayout para más refinamiento.