Teléfono móvil Px
Es decir, píxel, 1px representa un píxel físico en la pantalla;
No se recomienda la unidad Px, porque la misma imagen de 100px tendrá diferentes tamaños reales mostrados en diferentes dispositivos móviles. teléfonos. Puede ser diferente.
dp:
Esta es la unidad más utilizada pero también la más difícil de entender. Está estrechamente relacionado con los "píxeles por pulgada", así que primero expliquemos qué son los píxeles por pulgada. Supongamos que hay un teléfono móvil con un tamaño de pantalla física de 1,5 pulgadas x 2 pulgadas y una resolución de pantalla de 240x320. Entonces podemos calcular que la cantidad de píxeles por pulgada de la pantalla del teléfono móvil es 240/1,5 = 160 ppp (horizontal) o. 320/2 = 160. Los valores horizontal y vertical son los mismos porque la mayoría de las pantallas de teléfonos móviles utilizan píxeles cuadrados.
Diferentes teléfonos móviles/tabletas pueden tener diferentes píxeles por pulgada. Por ejemplo, los teléfonos móviles de 4 pulgadas tienen una resolución de 480x320 y el primero tiene píxeles por pulgada relativamente más bajos.
El sistema Android define cuatro píxeles por pulgada: bajo (120 ppp), medio (160 ppp), alto (240 ppp) y ultra alto (320 ppp). Sus coeficientes correspondientes de dp a px son 0,75, 1, 1,5, 2 respectivamente. Este coeficiente se multiplica por dp.
Por ejemplo, hay una imagen con una longitud de "100 ppp" en la interfaz. En realidad, se muestra como 80x1,5 = 120 px en un teléfono móvil de 240 ppp y 80x2 = 160 px en un teléfono móvil de 320 ppp. . Si compara estos dos teléfonos juntos, encontrará que el tamaño físico de esta imagen es "aproximadamente el mismo". Este es el efecto de usar dp como unidad.
Dipping:
Exactamente igual que dp, solo que con un nombre diferente. Dip se usó ampliamente en las primeras versiones de Android. Posteriormente, para unificarse con sp, se recomendó usar el nombre dp.
sp:
Píxeles independientes del escalado. sp es muy similar a dp. La única diferencia es que el sistema Android permite a los usuarios personalizar el tamaño del texto (pequeño, normal, grande, extra grande, etc.). Cuando el tamaño del texto es "normal", es 1sp = 1dp. =0,00625 pulgadas Cuando es "Grande" o "Extragrande", es 1sp. 1dp=0,00625 pulgadas. Es similar al efecto después de ajustar el tamaño de fuente en Windows: el tamaño de la ventana permanece sin cambios, pero el tamaño del texto cambia.
Existen varias unidades de medida poco comunes:
Hmm:
Es decir, milímetros;
En:
Es decir, pulgadas, 1 pulgada = 2,54 cm (aproximadamente
pt:
1pt=1/72 pulgada = 0,035 cm
Como mejor); En la práctica, las palabras de todos los tamaños están en sp y las no palabras de todos los tamaños están en dp. Por ejemplo, textSize="16sp " y diseño _ ancho = " 60dp ocasionalmente necesitan usar unidades px, como cuando necesitas dibujar un divisor subdividido en la pantalla:
& ltview diseño _ ancho = " match _ parent " diseño_altura = " 1px "/& gt;
Adicional:
1. Android. vista. grupo de vistas. parámetros de diseño. La altura y el ancho están en píxeles, pero para compatibilidad Para teléfonos móviles con múltiples resoluciones, necesitamos usar dp
2. Según la resolución del teléfono móvil, cambie de dp a px
public static int dip2px (Context Context). , float. dpValue){
Número final de decimales en coma flotante = context.getResources().
Densidad;
return(int)(Valor DP * escala+0.5f);
}
3. Cambie de px a dp según el teléfono móvil. resolución
public static int px 2 dip(Context Context, float pxValue){
Últimos lugares decimales de punto flotante = context.getResources(). getDisplayMetrics(). Densidad;
return(int)(valor px/escala+0.5f);
}