¿Qué es el View group en Android y cuáles son sus tipos?

Contenido del Bootcamp Dirigido por: | Última modificación: 24 de octubre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Los View group en Android son un componente importante en el desarrollo de aplicaciones para este sistema operativo, por ello, te contamos qué es y cuáles son los tipos de View group que podemos encontrar.

¿Qué es el View group en Android?: breve introducción

Un view group en android es un contenedor invisible que nos ayuda a organizar y gestionar el posicionamiento y tamaño de otros elementos dentro de la IU, estos son conocidos como views. El view group en android actúa como si fuera un layout que puede agrupar y distribuir diferentes vistas o incluso otros viewgroups dentro de una jerarquía, lo cual nos permite definir la estructura y disposición de la interfaz gráfica de una app.

Todos los elementos dentro de una interfaz de Android han sido construidos por medio de una jerarquía de objetos View y ViewGroup. Los View son aquellos componentes visuales que el usuario ve y con los que puede interactuar; por otro lado, los viewgroup son contenedores invisibles en los que se organizan y estructuran los view.

🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴

Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana

Es posible definir la estructura de la interfaz de una aplicación por dos medios: el primero es declarando la UI en XML; el segundo es creándola programáticamente en el código. Esta primera es una práctica muy común en sistemas Android, ya que logra separar la lógica del diseño del código.

Tipos de View group en Android

Ahora bien, podemos identificar 4 tipos de View group en Android, que son:

  • FrameLayout: este es un contenedor en el que puedes ir agregando diferentes vistas. A grandes rasgos, lo que caracteriza a este tipo de View group en Android es que no podemos situar las vistas en donde nosotros queramos, sino que solo podemos asignarle una gravedad. Es así como podemos decirle que la vista esté centrada, que se alinea a la derecha, arriba o a la izquierda, pero no podemos hacer nada más con ello.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Texto centrado en FrameLayout" />
</FrameLayout>
  • LinearLayout: lo que hace este tipo de View group es que cada una de las vistas que vamos agregando las va posicionando una a continuación de la otra. Este se caracteriza porque las vistas pueden tener una orientación vertical o una orientación horizontal.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Texto en un LinearLayout vertical" />
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Botón en un LinearLayout" />
</LinearLayout>
  • RelativeLayout: es un tipo de contenedor en el que cada una de las vistas está posicionada con relación al resto de las vistas.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Texto alineado arriba a la izquierda" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/textView"
android:layout_alignParentEnd="true"
android:text="Botón alineado a la derecha" />
</RelativeLayout>
  • ConstrainLayout: es un View group en Android que tiene como función mejorar el performance de la RelativeLayout. En términos generales, es un tipo de View group que es difícil de implementar, debido a que es necesario calcular las posiciones de cada una de las vistas.
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Texto en ConstraintLayout"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Botón debajo del texto"
app:layout_constraintTop_toBottomOf="@+id/textView"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Cada uno de los view y viewgroup dentro de Android tiene atributos con los que se puede controlar su apariencia y comportamiento dentro del diseño. Entre estos atribu tos encontramos layout_width y layout_height, que nos ayudan a definir el tamaño del componente. Sumado a eso, puedes usar padding y margin para ajustar el espacio alrededor de los elementos.

Cada una de las vistas dentro de un diseño tienen un ID único que nos permite referirnos a ellas dentro del código. Los ID son declarados en el archivo XML por medio del atributo android:id. Después de eso, puedes acceder a esas vistas en el código de tu actividad o fragmento con findViewById( )

Ahora que sabes qué es y cuáles son los tipos de View group en Android, es el momento de dar un paso más en tu proceso de formación y de aprender más sobre los diferentes términos relacionados con el desarrollo de apps móviles. Por ello, debes saber que en KeepCoding, con el objetivo de ayudarte a convertirte en todo un profesional en el campo del desarrollo mobile, queremos ofrecerte nuestro Desarrollo de Apps Móviles Full Stack Bootcamp
¡Únete a nuestra comunidad y sigue aprendiendo!

Jose Luis Bustos
Jose Luis Bustos

Lead Software Architect & Coordinador del Bootcamp en Desarrollo de Apps Móviles iOS & Android.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado