2011-02-09 8 views

Respuesta

28

densidad se puede calcular por la siguiente fórmula:

Density = sqrt((wp * wp) + (hp * hp))/di 

Donde:

wp es la resolución anchura en píxeles,

hp es la resolución de altura en píxeles, y

di tiene un tamaño diagonal en pulgadas.

+3

Esta fórmula en realidad para [ppi] (http://en.wikipedia.org/wiki/Pixel_density) pero a android le gusta el término 'dpi' en su lugar. La diferencia se puede leer [aquí] (http://www.andrewdaceyphotography.com/articles/dpi/) –

+0

¿cuál es el tamaño diagonal en pulgadas? – Kenji

+0

la distancia entre dos bordes opuestos de un teléfono se denomina tamaño diagonal. – AmiNadimi

3

La fórmula es real ppp/160. (Todo se escala a 160 dpi.)

+2

Gracias por responder, Ted. Pero, ¿cuál es el valor real? – teoREtik

0

Pruebe el siguiente enlace Screen density

+1

Sé cómo obtener la densidad programáticamente, pero quiero saber cómo se calcula. – teoREtik

1
int pixel = 120; 
final float scale = getResources().getDisplayMetrics().density; 
int dip = (int) (pixel* scale + 0.5f); 

remitir este siguientes enlaces

  • getDisplayMetrics(), para las métricas de visualización actuales
  • density, este es un factor de escala para la unidad de densidad de píxeles Independiente
+0

Muchas gracias, pero tengo que repetir mi pregunta nuevamente. Quiero saber cómo calcula el sistema operativo Android la densidad. En su fragmento de código, es el valor de escala. – teoREtik

+0

He agregado los detalles. –

+0

Leí una documentación sobre densidad, pero no lo entendí del todo. Entonces quiero saber, ¿cómo calcula? Es por eso que establecí esta pregunta – teoREtik

Cuestiones relacionadas