PDF de programación - Descubrir la Interfaz

Imágen de pdf Descubrir la Interfaz

Descubrir la Interfazgráfica de visualizaciones

Publicado el 29 de Junio del 2018
355 visualizaciones desde el 29 de Junio del 2018. Una media de 21 por semana
1.019,8 KB
20 paginas
Creado hace 185d (07/06/2018)
Introducción
Las aplicaciones Android proporcionan, la mayor parte de ellas, una interfaz de usuario. Ésta va a
permitir una interacción bidireccional entre el usuario y la aplicación de forma visual, táctil y sonora.

Este capítulo presenta las bases de la construcción de la interfaz de usuario. Comenzamos analizando
el mecanismo de gestión de las distintas resoluciones de pantalla de los dispositivos Android
disponibles en el mercado y, a continuación, veremos un primer enfoque de las actividades, pilares de
toda aplicación que presente una interfaz de usuario. Veremos, a continuación, con detalle los
fundamentos del diseño gráfico de interfaces y estudiaremos, por último, algunos componentes entre
los más utilizados en las pantallas de una aplicación. A continuación, se estudiarán con detalle las
actividades, en el siguiente capítulo.

Es habitual hablar de clic para designar la acción de presionar y levantar la presión rápidamente sobre
un botón de un dispositivo de tipo puntero como, por ejemplo, un ratón. Si bien la mayoría de
términos Android pueden describirse sin hacer referencia al ratón, el término clic se utilizará para
describir el contacto del dedo sobre la pantalla, por estar lo suficientemente extendido en el
vocabulario corriente.

Pantallas
Una de las particularidades del sistema Android es que puede adaptarse a un gran número de configuraciones de hardware
diferentes.

El hecho que mejor pone de manifiesto esta diversidad es el tamaño de las pantallas de los dispositivos Android. Esto abarca
desde un pequeño smartphone donde la diagonal de la pantalla mide 6,5 cm hasta una tableta táctil de 30 cm, pasando por un
gran número de dispositivos de tamaño intermedio, sin contar los televisores que cuentan con el sistema Google TV basado en
Android...

No obstante el tamaño es sólo una de las características de la pantalla. La resolución de la pantalla es otra, yendo por lo general
de la mano de la primera, una pequeña pantalla presenta poca resolución y una gran pantalla presenta una resolución mucho
mayor. Conviven dispositivos Android con una resolución de 240 x 320 píxels (QVGA, Quarter Video Graphics Array) y terminales
que muestran 2560 x 1600 píxels, la versión 4.3 de Android incluye soporte para pantallas llamadas 4K, ¡que presentan una
resolución de 4096 x 2160 píxels!.

En pocas palabras, vemos que el sistema Android puede funcionar en muchas y muy diversas configuraciones de pantalla. En lo
sucesivo una aplicación pensada para una pantalla de smartphone de poca resolución tendrá un aspecto mediocre en la
inmensidad de una pantalla más grande de alta resolución. Con el objetivo de ofrecer al usuario la mejor experiencia posible, el
desarrollador deberá arreglárselas para que la aplicación se adapte también a los distintos tamaños y resoluciones de pantalla
de los dispositivos Android sobre los que se puede ejecutar la aplicación.

las

clasifica

Android
cuatro
categorías: small(pequeña), normal (normal), large (grande) et xlarge (muy grande). Esta última categoría existe desde
Android 2.3 (API 9). Encontraremos por ejemplo pantallas de unos 6,35 cm (2,5 pulgadas) de tamaño de diagonal en la categoría
de pantallas pequeñas, de unos 10 cm (4 pulgadas) en la categoría de pantallas normales, de unos 18 cm (7 pulgadas) para las
grandes pantallas y de más de 25 cm (10 pulgadas) para pantallas extragrandes.

pantallas

diagonal

tamaño

según

en

el

de

su

En una misma categoría pueden coexistir varias resoluciones. Si bien para una misma superficie de pantalla el número de píxeles
puede variar sensiblemente. El número de píxeles de una superficie determina su densidad. Se expresa en puntos por
pulgada llamados dpi (dots-per-inch).
Android clasifica así las pantallas en categorías según su densidad de píxeles: ldpi (baja), mdpi(media), hdpi (alta)
y xhdpi (muy alta), así como xxhdpi, o incluso xxxhdpi. Esta última categoría existe desde Android 2.2 (API 8).
Encontraremos por ejemplo valores de 120 dpi en la categoría de densidades bajas, 160 dpi en la categoría media, 240 dpi en la
categoría alta y 320 dpi en la categoría muy alta. Estos valores de densidad pueden servirnos como referencia.

Categoría de pantalla

Densidad en dpi

ldpi

mdpi

hdpi

xhdpi

xxhdpi

xxxhdpi

120

160

240

320

480

640

independent pixel) o píxel independiente de la densidad.

¡No confundir dpi y dip!

un

botón

tendrá

Aun así, para un tamaño
de pantalla estrictamente
igual,
de
100 píxeles de largo, por
ejemplo,
un
tamaño de visualización
diferente
las
resoluciones
son
diferentes. Para evitar
esto, Android recomienda
utilizar
nueva
unidad:
el dp o dip (density-

una

si

El sistema se encarga de convertir un valor determinado en dip en número de píxeles físicos teniendo en cuenta la densidad de
la pantalla. La dimensión física resultante será la misma sea cual sea ladensidad de la pantalla. Es decir, el botón tendrá el
mismo tamaño físico en todas las pantallas.

En Android, las dimensiones pueden especificarse en distintas unidades. En la siguiente tabla se muestra un inventario de estas
unidades:

Unidad
dp o dip

sp o sip

px
in
mm

Descripción

Unidad independiente de la densidad de la pantalla (density-independent
pixel).

Unidad dependiente del tamaño preferido para la fuente de caracteres
(scale-independent pixel). Esta unidad se utiliza para ajustar el tamaño de
la letra en cadenas de caracteres.

Pixel. Unidad gráfica mínima.

Pulgada. Unidad de medida que vale 2,54 cm.

Milímetro.

Con el objetivo de no confundir dip, sip y dpi, es preferible utilizar únicamente dp y sp.

Para que una aplicación pueda adaptarse correctamente a todos los tipos de pantalla, tamaños
y resoluciones, se recomienda encarecidamente utilizar únicamente dimensiones independientes

de la densidad, es decir especificadas en dp (o dip) y en sp (o sip).

Es posible especificar distintas variantes de una misma imagen según la densidad de la pantalla. Android buscará la versión
correspondiente a la categoría de densidad de la pantalla en curso. Si existe, la utilizará. Si no, Android buscará este recursos
para otra densidad, de forma prioritaria en las densidades mayores que la actual. Una vez encontrado, el sistema lo
redimensionará utilizando cierto factor.

Para conocer el factor a aplicar, el sistema utiliza la siguiente escala indicando los distintos ratios: 3-4-6-8-12-16 que se
corresponden respectivamente con las distintas densidades: ldpi, mdpi, hdpi,xhdpi, xxhdpi y xxxhdpi.
Por ejemplo, si la densidad de la pantalla es alta (hdpi) y el recurso no existe en esta densidad ni en una densidad superior
(xhdpi), el sistema puede utilizar la densidad media (mdpi) suponiendo que exista. A continuación el sistema modifica
automáticamente su tamaño aplicando un factor de 1,5, es decir 6/4, para las densidades altas (hdpi). Si la pantalla tiene una
densidad baja (ldpi), el factor utilizado es 0,75, es decir 3/4.
El desarrollador que quiera aportar imágenes dedicadas a una categoría de densidades específica podrá utilizar los mismos
coeficientes multiplicadores para determinar el tamaño que quiere proporcionar para estas densidades, o utilizar la siguiente
fórmula:

px=dp*(dpi/160)

Esta fórmula permite confirmar que, para una densidad media, un dp equivale a un píxel.
Por ejemplo, si aporta una imagen de 100x100 píxeles para una densidad normal (mdpi) y quiere ofrecer una para una densidad
alta, esta imagen deberá tener un tamaño de 150x150 píxeles, aplicando un coeficiente multiplicador de 1,5.
Cada versión de la imagen correspondiente a una densidad específica debe almacenarse en la subcarpeta drawable de la
carpeta res donde el calificativo se corresponda con la categoría de densidad de la pantalla.

Sintaxis

drawable-categoría_densidad

Ejemplo

En la siguiente captura de pantalla, el recurso ic_launcher está disponible para las resoluciones xxhdpi, xhdpi, hdpi y mdpi. El recurso no
existe para la resolución ldpi: en este caso se utilizará la versión mdpi transformada.

Los recursos que se encuentran en la carpeta res/drawable están considerados recursos
para una densidad media (mdpi).

Desde Android 1.6 (API 4), es posible utilizar la etiqueta supports-screen en el manifiesto para indicar al sistema, y de forma
accesoria en Google Play Store, con qué categorías de tamaño de pantalla es compatible la aplicación.

cada

una

de

estas

le

A
esta
etiqueta:android:smallScreens, android:normalScreens, android:largeScreens yandroid:xlargeScreens.
Éstas toman un valor booleano que indica si la aplicación soporta la categoría correspondiente o no. Si no es el caso, el sistema
busca la mejor solución de visualización compatible posible y convierte automáticamente las dimensiones para adaptarlas a la
pantalla utilizada.

corresponde

categorías

atributo

de

un

Los valores por defecto de estos atributos dependen de
los
atributosandroid:minSdkVersion y android:targetSdkVersion. En lo sucesivo, lo
más sencillo es indicar estos valores explícitamente en el manifiesto para evitar cualquier
ambigüedad.

los valores de

El atributo android:anyDensity toma un valor booleano que indica si la aplicación ha sido diseñada de forma independiente
a la densidad, o más concretamente si utiliza dimensiones de tipo dp o sp o bien convierte las dimensiones especificadas en
píxeles. En caso contrario, el sistema ejecutará la aplicación en un modo de compatibilidad.

Recuerde, se recomienda encarecidamente realizar aplicaciones cuya interfaz sea independiente
de la densidad de la
  • Links de descarga
http://lwp-l.com/pdf12230  

Comentarios de: Descubrir la Interfaz (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad