Red de conocimiento informático - Problemas con los teléfonos móviles - Las diferencias entre sp, dp, px y pt y sus respectivos usos

Las diferencias entre sp, dp, px y pt y sus respectivos usos

dp: Son píxeles independientes del dispositivo dip (device independent pixels), píxeles que no tienen nada que ver con la densidad. Una unidad abstracta basada en la densidad de la pantalla. En un monitor con 160 puntos por pulgada (la densidad de pantalla es 160), 1dp=1px

sp: píxeles independientes de la escala. Se utiliza principalmente para definir el tamaño de fuente y nunca se utiliza en el diseño. Similar a dp, pero se puede escalar según las preferencias de tamaño de fuente del usuario, es decir, sp no es independiente de la densidad sino también de la escala. Cuando la densidad de la pantalla es 160, 1dp=1sp=1px;

px: los píxeles reales de la pantalla. Generalmente no se utiliza como unidad porque mostrará el mismo efecto en diferentes dispositivos.

en: pulgadas.

mm: milímetro.

pt: libras. 1/72 de pulgada.

dp y sp pueden cambiar automáticamente a medida que cambia la pantalla. Por lo tanto, para que la interfaz de usuario se muestre correctamente en los tipos de visualización actuales y futuros, se recomienda utilizar siempre sp para unidades de tamaño de texto y dp para otros elementos.

paquete com.hujl.util;

importar android.content.Context;

clase pública DensityUtil {

/**

* Convierta la unidad de dp a px (píxel) según la resolución del teléfono móvil

*/

public static int dip2px(Context context, float dpValue) {

escala flotante final = context.getResources().getDisplayMetrics().density;

return (int) (dpValue * escala + 0.5f);

}

/**

* Convierte la unidad de px (píxel) a dp según la resolución del teléfono móvil

*/

public static int px2dip(Contexto contexto, float pxValue) {

escala flotante final = context.getResources().getDisplayMetrics().density;

return ( int) (pxValue / escala + 0.5f);

}

}