- Con FrameLayout podemos organizar vistas unas sobre otras como si fueran capas y ajustar sus atributos layout_gravity para que tomen la posición que indique nuestro diseño. También podemos agregar vistas dinámicas.
Introduccion
UI en Android: ¿Por qué? ¿Cómo?
Revisando los archivos para una UI
Instalando Android Studio
Enlazando nuestro layout con el código
Creando una UI
La vista de diseño en Android Studio
La clase R
Widgets y Vistas
ViewGroup y View: Diferencias básicas
Atributos importantes: alto, ancho y id
Otros atributos y el namespace tools
Layouts base
LinearLayout: Organizacion lineal
RelativeLayout: organizando con referencias
RelativeLayout: Uso práctico
FrameLayout: Alineación por region
FrameLayout: Uso práctico
Layouts externos: ConstraintLayout
Estilos y temas
¿Qué es un estilo?
¿Qué es un tema?
Distribuyendo nuestros valores
Extendiendo los widgets
Agregando widgets externos
Reutilizando elementos
Cierre
Recapitulación y cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El Frame Layout es un tipo de layout en Android que se utiliza para organizar vistas de una manera específica dentro de una pantalla. A diferencia de otros layouts, el Frame Layout se enfoca en permitir sobreponer elementos dependiendo del tamaño del más grande en la región ocupada. Es una herramienta poderosa para quienes desarrollan aplicaciones Android, ya que facilita la disposición de elementos en una sola área de la pantalla.
El Frame Layout opera ocupando una región de la pantalla basada en el elemento más grande en dicha región. Este layout puede redimensionarse automáticamente dependiendo de los elementos que contenga. Aquí hay algunos aspectos clave de su funcionamiento:
Ocupación de pantalla: Cuando colocamos un FrameLayout
, inicialmente no tiene tamaño predefinido de alto o ancho. El tamaño se establece conforme agregamos elementos a él. El primer elemento se coloca en la esquina superior izquierda.
Sobrelapado de elementos: Si se añade un nuevo elemento más grande al layout, este se extiende tomando como referencia ese nuevo tamaño, permitiendo el sobrelapado en capas y ordenando los elementos según su tamaño.
Distribución de elementos: Además, el Frame Layout permite la carga dinámica de vistas, lo cual es útil en aplicaciones donde ciertas vistas deben entrar o salir constantemente.
Un solo hijo: Se recomienda que el Frame Layout tenga únicamente una vista interna o hijo. Esta restricción es beneficiosa para el rendimiento de la aplicación puesto que reduce la complejidad de renderizado.
Centrado de elementos: A través de la propiedad "gravedad", es posible centrar elementos tanto horizontal como verticalmente, brindando flexibilidad en su disposición.
El uso de Frame Layout ofrece diversas ventajas en el desarrollo de aplicaciones Android:
Flexibilidad de diseño: Permite sobreponer vistas fácilmente, lo que es ideal para casos donde un fondo y un texto o leyenda deban ocupar el mismo espacio visual de manera ordenada.
Rendimiento optimizado: Al restringir a un solo hijo, se mejora el rendimiento durante la ejecución de la aplicación, reduciendo la carga de procesado y complejidad.
Versatilidad en dinámicas: La habilidad de manejar dinámicamente las vistas hace que el Frame Layout sea una estrategia común en aplicaciones Android modernas.
Animamos a los desarrolladores a experimentar con el Frame Layout y descubrir su potencial para enriquecer sus aplicaciones, brindando una experiencia de usuario más estructurada y visualmente ordenada.
Aportes 15
Preguntas 1
FrameLayout: Alineación por region
Hasta ahora los layouts que hemos visto (Linear y Relative) han abarcado toda la pantalla a la hora de implementarlos, y en ocasiones será necesario solo usar una parte de esta.
Con FrameLayout podemos ocupar una región de la pantalla basándonos en el elemento más grande dentro de esa región. Es decir, el FrameLayout va a crecer tanto como lo indiquemos (match parent, wrap content).
Otro uso común de FrameLayout es que podemos cargar vistas dinámicamente en él. También nos da versatilidad a la hora de poner elementos, ya que pone un elemento frente al otro con los que se pueden crear diferentes efectos.
LinearLayout - Secuencia en bloques
RelativeLayout - Responsivo
FrameLayout -por tamaño maximo.
Que buena explicación
Mis apuntes de la Clase:
Permite crear layouts que ocupen determinado lugar de la pantalla, en lugar de ocuparla toda como ocurre con los tipos anteriores de Layout. FrameLayout va a crecer tanto como se le indique. En un FrameLayout el ancho y el alto están dictados por el tamaño del elemento más grande que hay en su interior.
Una característica de FrameLayout es organiza los elementos uno encima de otro y además permite cargar dentro de él vistas dinámicas.
🛈 Nota: es una buena práctica para mejorar el performance de la App que un FrameLayout sólo tenga una vista hija.
Más de 3 años y sigue siendo un súper curso ❤️
FrameLayout Este layout nos permite ocupar una región de la pantalla, basándose en el elemento más grande que se encuentre en ese momento. Este Layout va a crecer tanto como nosotros se lo indiquemos.
FrameLayout nos permite ocupar una región de la pantalla basándose en el elemento mas grande que se encuentre en esa región, es decir, framelayout va a crecer tanto como nosotros lo indiquemos.
Por fin entiendo el para que es el FrameLayout
Se trata del layout mas básico de todos y su uso suele ser para añadir un solo hijo o para vistas muy sencillas. Si por ejemplo queremos cargar un fragment o una vista custom, pues usaremos este layout.
Framelayout crece tanto como lo necesitemos
Framelayout recomienda tene un solo hijo o vista interno para el performace de la aplicacion
Excelente explicación, muy conciso y de gran ayuda.
Sirve para agregar porciones pequeñas a la pantalla
Este se ajusta al tamaño del hijo con mayor tamaño, los hijos de este se pueden sobreponer y se alinenan con respecto a su gravity y una buena practica es que siempre tenga solamente un hijo, esto para el performace de la app
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?