2012-09-01 12 views
7

Soy nuevo en Android. Leí sobre DP pero aún estoy confundido. En una definición dice: dp (píxeles independientes de la densidad): una unidad abstracta basada en la densidad de la pantalla. En una pantalla con 160 puntos por pulgada, 1dp = 1px.android la definición píxeles independientes de densidad

lo hace significados 160 puntos = 1 dp = 1 px (cada punto es de 1 píxel, ¿verdad?) OR 1 dp = 1 punto (pixel) entre los 160 puntos

Motivos aclaran

+1

[este] (http://stackoverflow.com/q/2025282/1465828) debería responder a su pregunta – Aprian

Respuesta

14

píxeles independientes de la densidad es una unidad de píxeles virtuales que debe usar al definir el diseño de la IU, para expresar las dimensiones del diseño o la posición de una manera independiente de la densidad.

El píxel independiente de la densidad es equivalente a un píxel físico en una pantalla de 160 ppp, que es la densidad base asumida por el sistema para una pantalla de densidad "media". En tiempo de ejecución, el sistema maneja de forma transparente cualquier escalado de las unidades dp, según sea necesario, en función de la densidad real de la pantalla en uso. La conversión de las unidades de DP para detectar píxeles es simple:

px = dp * (dpi/160)

Por ejemplo, en una pantalla de 240 dpi, 1 dp es igual a 1,5 pixeles físicos. Siempre debe usar unidades dp cuando defina la IU de su aplicación para garantizar una visualización adecuada de su IU en pantallas con diferentes densidades.

Para 160 ppp pantalla 1 dp es igual a 1 px.

Consulte el blog this y this respuesta.

0

La documentación de Android dice -

El píxel independiente de la densidad es equivalente a un píxel físico en una pantalla de 160 ppp, la densidad base asumida por la plataforma (como se describe más adelante en este documento). En tiempo de ejecución, la plataforma maneja de forma transparente cualquier escalado de las unidades dp necesarias, en función de la densidad real de la pantalla en uso. La conversión de unidades dp a píxeles de pantalla es simple: pixels = dps * (densidad/160). Por ejemplo, en una pantalla de 240 ppp, 1 dp equivaldría a 1,5 píxeles físicos. Se recomienda encarecidamente usar unidades dp para definir la IU de su aplicación, como una forma de garantizar una visualización adecuada de su IU en diferentes pantallas.

Puede echar un vistazo a supporting multiple screens. También puedes echar un vistazo a este question.

+0

qué es DOT en punto por pulgada, supongo que 1 punto = 1 px, ¿es correcto? Esta línea me confunde -un píxel físico en una pantalla de 160 ppp POR CUANTO dice nuevamente- en una pantalla de 240 ppp, 1 dp equivaldría a 1,5 píxeles físicos. cómo es que 1 dp equivaldría a 1,5 píxeles físicos aquí ... – Tanvir

Cuestiones relacionadas