2011-01-17 20 views

Respuesta

30

Debería tener "valores" de carpetas separadas (valor predeterminado) "values-hdpi" (alta densidad) "values-mdpi" (densidad media) y así sucesivamente y poner su archivo de estilo con textSize correcto valores en cada carpeta según sea necesario.

Entonces, cuando se encuentra en el dispositivo de densidad media que captará el archivo en la carpeta de "valores-mdpi" si existe o en los "valores" si no, y lo mismo para alta densidad, etc ...

Este mismo principio se aplica a otros, "res" subcarpetas (dibujables, valores, etc ...)

+0

Cool stuff! ¡Gracias! – Gratzi

+10

Tenga en cuenta que esto es incorrecto. Usar estilos diferentes solo para escalar las dimensiones NO ES CORRECTO y hará que su aplicación se rompa en el futuro cuando se ejecute en un dispositivo con una densidad que no tuvo en cuenta. Lo correcto es usar unidades "dp". – hackbod

+0

Si entiendo correctamente las palabras de Gratzi '" Estaba al tanto de la utilidad de usar dip. Siempre uso esto "', lo que quería hacer es, por ejemplo, establecer un textSize de 12dp para mdpi y 14dp para hdpi, entonces este es el camino a seguir para lograr esto. También para las densidades de pantalla que no tiene en cuenta, está la carpeta "valores" para los valores predeterminados ... – maid450

28

especificar todas las fuentes usando salsas (por ejemplo 14dp) en lugar de píxeles (por ejemplo 14px) y usted no tendrá que preocuparse por la pantalla densidad. Android escalará las fuentes (y el diseño) en consecuencia.

Editar: Aquí está la comparación de sp/dp de the Android docs:

dp píxeles independientes de la densidad - una unidad abstracta que se basa en la densidad física de la pantalla. Estas unidades son relativas a una pantalla de 160 ppp (puntos por pulgada), por lo que 160 pd es siempre una pulgada, independientemente de la densidad de la pantalla. La relación de dp-a-píxel cambiará con la densidad de la pantalla, pero no necesariamente en proporción directa. Debe usar estas unidades cuando especifique dimensiones de vista en su diseño, , de modo que la UI se gradúe correctamente para renderizar con el mismo tamaño real en pantallas diferentes.

sp píxeles independientes de la escala - esto es como la unidad DP, pero también es escalado por la preferencia tamaño de la fuente del usuario. Se recomienda utilizar esta unidad cuando se especifiquen los tamaños de fuente, para que se ajusten tanto para la densidad de la pantalla como para las preferencias del usuario.

+3

En caso de que Gratzi no lo sepa, también especifique los anchos y las alturas en SP en lugar de píxeles. La respuesta a continuación sobre Styles es un buen consejo acerca de cómo administrar la apariencia en toda la aplicación, pero Dave es muy directo sobre el uso de DP para especificar el tamaño de la fuente. – C0deAttack

+1

También puede usar "sp" para una especificación de unidad, que se escalará en relación con el tamaño de letra preferido del usuario. EDITAR: Batido por CodeAttack :) – kcoppock

+1

¡Gracias por las respuestas! Era consciente de la utilidad de usar inmersión. Yo siempre uso esto Pero en este caso no está resolviendo mi problema. Lo que pasa es que el diseño de mi G2 (320x480) debe verse como se ve en Milestone (480x800); debe ser proporcional a este. Así que usar los estilos combinados con las carpetas de valores específicos de densidad me da la libertad de establecer los tamaños de fuente que quiero. – Gratzi

0

sí, para implementar una aplicación universal que funcionará para todas las resoluciones. Debe configurar múltiples maquetables & diseños correspondientes.

por ejemplo.

dibujables: -

dibujable-LDPI dibujable-MDPI dibujable IPAP

diseños: -

diseño microcítico diseño de mediano diseño a gran

entonces puede cambiar de acuerdo a su resolución requerida para el Dispositivo. Android admite la configuración interna para el factor de densidad de varias resoluciones de pantalla. el dispositivo puede tomar como corresponde el diseño correspondiente & correspondiente. no necesita ajustar ninguna línea de código en sus archivos src.

Cuestiones relacionadas