Necesito codificar el diseño de los widgets de Android usando dip / dp (en archivos java). En tiempo de ejecución si codifico,
int pixel=this.getWindowManager().getDefaultDisplay().getWidth()
,;
Esto devuelve el ancho de la pantalla en píxeles (px). Para convertir esto a dp, codifiqué:
int dp =pixel/(int)getResources().getDisplayMetrics().density ;
Esto no parece devolver la respuesta correcta. Creé el emulador de WVGA800 cuya resolución de pantalla es de 480 por 800. Cuando ejecuté el emulador y dejé que el código imprimiera los valores de píxel y dp, llegó a 320 en ambos. Este emulador es de 240 ppp, cuyo factor de escala sería de 0,75.