Salta al contingut principal

Android: Elementos en la pantalla

Android: Elementos en la pantalla: "

Seguimos con nuestro tutorial de Android. En esta ocasión hablaremos de la interfaz gráfica de usuario (GUI). Una aplicación Android ha de ser diseñada de forma que el usuario la utilice cómodamente, siempre teniendo en cuenta las reducidas dimensiones de la pantalla y la funcionalidad que buscamos.


La unidad funcional básica de una aplicación Android es la “Activity”, el cual es un objeto de la clase “android.app.Activity”. Una “Activity” puede hacer muchas cosas, pero por si misma ella no tiene presencia en la pantalla. Para otorgarle a tu “Activity” presencia en la pantalla y diseñar su interface de usuario, tienes que trabajar con “View” y “ViewGroup”, las cuales son las unidades básicas de expresión de la interface de usuario en la plataforma Android.


Después del salto hablaremos de las vistas y demás elementos visuales de Android.



Vistas


Una vista es un objeto cuya clase base es “android.view.View”. Es una estructura de datos cuyas propiedades almacenan el esquema y contenido para una determinada área rectangular de la pantalla. Un objeto “View” manipula el dimensionamiento y esquema, realiza el pintado, controla los cambios de foco, desplazamiento de áreas y teclado/gestos para el área de la pantalla que representa.


La clase “View” sirve de base para los “widgets”, que son un conjunto de subclases implementadas completamente que dibujan elementos interactivos en la pantalla. Los “widgets” manipulan sus propios dimensionamientos y pintado, de tal forma que tú puedes usarlos para construir tus propias UI mucho más rápido. La lista de “widgets” disponibles incluye: “Text”, “EditText”, “InputMethod”, “MovementMethod”, “Button”, “RadioButton”, “Checkbox” y “ScrollView”.


Grupos de vistas


Un “ViewGroup” es un objeto de la clase “android.view.Viewgroup”. Como su nombre lo indica, un grupo de vistas es un tipo especial de objeto “View”, cuya función es contener y administrar un conjunto subordinado de “View” y otros “ViewGroup”. Los “ViewGroup” nos permiten agregar una estructura a nuestras “UI” y así construir elementos de pantalla mucho más complejos que puedan ser manipulados como un único elemento.


La clase “ViewGroup” sirve de clase base para crear esquemas, los cuales son un conjunto de subclases implementadas completamente que provee de los tipos más comunes de elementos de pantalla. Los esquemas nos entregan una forma de construir una estructura para un conjunto de “View”.


Un árbol jeráquico de UI


En la plataforma Android, tú puedes definir una “Activity” con UI usando un árbol de “View” y nodos de “ViewGroup”, tal como lo muestra el diagrama que está a continuación. El árbol puede ser simple o complejo según tus necesidades, y puede ser construido usando un conjunto predefinido de “widgets” y elementos de Android o tipos de “View” con características especiales que tí hayas creado.


Para enlazar el árbol a la pantalla y así efectuar su visualización, nuestra actividad “Activity” llama a sus método “setContentView()” y pasa la referencia una referencia al objeto del nodo raíz. Una vez que el sistema Android tiene una referencia al objeto del nodo raíz, éste puede trabajar directamente con el nodo para invalidarlo, medirlo y dibujar el árbol. Cuando tú “Activity” se activa y recibe el foco, el sistema notifica a tu “Activity” y le solicita al nodo raíz que mida y dibuje el árbol. Entonces, el nodo raíz le solicita a sus nodos hijos que se dibujen así mismo, a su vez cada nodo de grupo de vistas del árbol es responsable de dibujar sus nodos hijos directos.


Como se mencionó previamente, cada “ViewGroup” tiene la responsabilidad de medir su espacio disponible, posicionar sus hijos dentro del esquema y llamar al método “Draw()” por cada uno de sus hijos para que se dibujen asimismos. Los hijos podrían solicitar una ubicación y tamaño específico al padre, pero es el objeto padre quien tiene la última decisión con respecto a que tan grande cada hijo puede ser.


LayoutParams: ¿Cómo especificar la posición y tamaño de un hijo?


Cada “ViewGroup” usa una clase anidada que hereda de “ViewGroup.LayoutParams”. Esta subclase contiene tipos de propiedades que definen el tamaño y posición de un hijo en propiedades que son apropiadas para esa clase de “ViewGroup”.


Cada subclase de “LayoutParams” tiene su propia sintaxis para asignar sus valores. Cada elemento hijo debe definir un “LayoutParams” que sea apropiado para su padre, aunque éste último podría definir un “LayoutParams” diferente para sus hijos.


Todos los incluyen ancho y alto. Muchos incluso tienen márgenes y contorno. Tú puedes indicar un ancho y alto determinados, pero probablemente no lo harás de manera frecuente. Lo más probable es que dejarás que tu vista se auto dimensione al tamaño de sus contenidos o tan grande como el objeto que lo contiene lo permita.

Comentaris

Entrades populars d'aquest blog

15 Tutoriales CSS3 para mejorar tus paginas web

15 Tutoriales CSS3 para mejorar tus paginas web : Les dejo una pequeña recopilación de tutoriales CSS3 que espero sean de utilidad para ustedes, intentamos hacer una recopilación bastante completa para crear impresionantes diseños web con CSS3 y aprovechar las bondades de CSS3 incluso para aplicar efectos, son un total de 15 tutoriales CSS3 gratis . Crear menu dropdown con CSS3 Crear breadcrumbs con estilo Transiciones de paginas con CSS3 Crear timeline con CSS3 y jQuery Reproductor de video con HTML5, CSS3 y jQuery Crear efecto acordion CSS3 Aplicar degradado a texto Crear texto en curva con CSS3 y jQuery Aplicar textura a texto con Magic Pill Crear slider de imagenes con CSS3 y jQuery Rotar texto con CSS3 Crear menu vertical con CSS3 Crear formulario con HTML5 y CSS3 Crear efecto de imagenes apiladas con CSS3 Aplicar estilos para imagenes con CSS3  

Averiguar la Salud del Disco Duro, con Crystal Disk Info [Windows]

Averiguar la Salud del Disco Duro, con Crystal Disk Info [Windows] : El actual “cuello de botella” en nuestras PCs; es decir, donde todo el rendimiento de nuestra PC llega a estancarse , es en el Disco Duro. Si bien los procesadores han evolucionado considerablemente en velocidad / rendimiento, el RAM no sólo es más económico, sino más veloz, y las tarjetas de video siguen innovando con cada generación, los discos duros han permanecido idénticos desde hace años, limitados por la física. Y es que un disco duro tradicional sólo tiene un máximo de velocidad con el que puede girar (medido en revoluciones por minuto, o RPM) que, a su vez, limita la velocidad de lectura y escritura. En pocas palabras, a pesar de que nuestras PCs pueden procesar información mucho más rápido que hace 5 años, los discos duros siguen leyendo (y escribiendo) esta información prácticamente a la misma velocidad. Esto ha cambiado con la llegada de los SSD, los Discos de Estado Sólo que no están limitados por la velo...

El meu editor de codi preferit el 2024, que això ja se sap que va canviant 😄

Visual Code Visual Code és un editor de codi font lleuger, però potent que s’executa al teu escriptori i està disponible per a Windows, macOS i Linux. Compta amb suport integrat per a JavaScript, TypeScript i Node.js i té un ric ecosistema d’extensions per a altres llenguatges i entorns d’execució (com C++, C#, Java, Python, PHP, Go, .NET).  És una eina ideal per a desenvolupar i depurar aplicacions web i en el núvol. Per què Visual Code? Visual Code té molts avantatges com a editor de codi font, com per exemple: És gratuït, ràpid i fàcil d’instal·lar i actualitzar. Té un ampli ecosistema d’extensions que et permeten afegir funcionalitats i personalitzar la teva experiència de desenvolupament. Té un suport integrat per a molts llenguatges i entorns d’execució, i et permet depurar i executar el teu codi des del mateix editor. Té una interfície senzilla i elegant, amb diferents temes i modes de visualització. Té un sistema de sincronització de configuracions que et permet guardar les...