Guía de estilo de Android: px a dp, ¿cómo convierto?

El diseño de la aplicación de Android que estoy trabajando tiene un tamaño de pantalla de 1080X120 con una resolución de 72 (píxeles/pulgada). Todos los iconos, imágenes, textos están en píxeles. Ahora el desarrollador los quiere a todos en dp y no en px. Ahora, ¿cómo los convierto? ¿Y el tamaño de pantalla que estoy usando es el correcto?

Respuestas (1)

1 dp (píxel independiente de la densidad) = 1 píxel a 160 PPI (o mdpi)

De desarrollador.android.com

Píxel independiente de la densidad (dp)

Una unidad de píxel virtual que debe usar al definir el diseño de la interfaz de usuario, para expresar las dimensiones o la posición del diseño de forma 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 de referencia asumida por el sistema para una pantalla de densidad "media". En tiempo de ejecución, el sistema maneja de forma transparente cualquier escala de las unidades de dp, según sea necesario, en función de la densidad real de la pantalla en uso. La conversión de unidades de dp a píxeles de pantalla es simple:

px = dp * (dpi / 160). Por ejemplo, en una pantalla de 240 dpi, 1 dp equivale a 1,5 píxeles físicos. Siempre debe usar unidades de dp al definir la interfaz de usuario de su aplicación, para garantizar una visualización adecuada de su interfaz de usuario en pantallas con diferentes densidades.

Dado que las aplicaciones de Android se pueden ver en cualquier cantidad de pantallas, todas con diferentes tamaños y resoluciones, declarar todos sus tamaños en píxeles literales no tiene mucho sentido, ya que aparecerían en tamaños físicos completamente diferentes, de ahí el píxel independiente de la densidad.

La forma más fácil de obtener sus valores de dp sería configurar su documento de Photoshop en las dimensiones físicas correctas (es decir, cm o pulgadas) a 160 PPI (o simplemente en las dimensiones de píxeles mdpi para su pantalla). Sus valores de píxel luego se traducen a dp 1: 1.

Si su PSD está configurado en una resolución diferente, hay calculadoras que calcularán los diferentes tamaños de píxeles y el valor de dp para usted. http://androidpixels.net es rápido y fácil.

En cuanto al tamaño de su pantalla, a menos que esté diseñando para un dispositivo específico, no hay un tamaño correcto. Si está diseñando para un dispositivo específico, use el tamaño de pantalla de ese dispositivo... De lo contrario, elija un tamaño y diseñe su interfaz de usuario sabiendo que el tamaño de la pantalla no es estático.

cai: Gracias por la respuesta, entendí totalmente. Agradezco la respuesta detallada.