2011-08-18 17 views
115

Duplicar posible:
Difference of px, dp, dip and sp in android¿Por qué deberíamos usar sp para tamaños de fuente en Android?

Soy nuevo en Android y que estaba tratando de salir this tutorial

En este tutorial, se utiliza la unidad de "SP" para el atributo Tamaño del texto y "dp" para otros atributos.

Por favor, dime cómo sp difiere de dp?

+0

[Esta es la razón por la que deberíamos usar SP para fuentes con el ejemplo.] (Http://www.singhajit.com/tutorial-1-android-ui-desgin-and-styling/) –

Respuesta

219

La dp tiene una relación constante de transición a px: dp = px * ratio. Donde ratio nunca cambiará en ningún dispositivo en particular.

Mientras que sp (s para la escala) tiene una relación escalable: sp = px * ratio * scale. Donde ratio nunca cambia, pero scale es configurable por el usuario. Este scale puede ser utilizado por personas que necesitan tamaños de letra más grandes, por ejemplo, para usar el dispositivo de forma más cómoda.

+21

Esto se siente mal, ¿Por qué nuestros diseños se basan en 'dp' pero todo el texto se procesa dentro de ese diseño escalado a la configuración' sp' del usuario? Si el texto se hace más grande, ¿no debería la vista que lo contiene también crecer para acomodarlos? – chakrit

+12

Por lo tanto, para simplificar: 'sp = dp * scale' –

+2

@chakrit También puede usar' sp' para compilar sus diseños. – Hassaan

6

Sp se escala de forma independiente con respecto al tamaño de fuente normal del dispositivo. http://developer.android.com/guide/practices/screens_support.html

Del mismo modo, se debe preferir el SP (píxel independiente de la escala) para definir los tamaños de texto. El factor de escala sp depende de una configuración de usuario y el sistema escala el tamaño de la misma manera que para dp.

Cuestiones relacionadas