Cómo calcular dp de píxeles en android programaticamente

Quiero calcular dp de px programmatically. ¿Cómo hacerlo? Obtengo resolución de:

 DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); ht = displaymetrics.heightPixels; wt = displaymetrics.widthPixels; 

Esto debería darle los píxeles de conversión -> dp:

 DisplayMetrics displaymetrics = new DisplayMetrics(); int dp = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, myPixels, displaymetrics ); 

Todas las respuestas aquí muestran una conversión de dp- > px en lugar de px-> dp , que es lo que el OP pidió. Tenga en cuenta que TypedValue.applyDimension no se puede utilizar para convertir px-> dp, por lo que debe utilizar el método descrito aquí: https://stackoverflow.com/a/17880012/504611 (se cita a continuación para mayor comodidad).

Sin contexto, los métodos estáticos elegante:

 public static int dpToPx(int dp) { return (int) (dp * Resources.getSystem().getDisplayMetrics().density); } public static int pxToDp(int px) { return (int) (px / Resources.getSystem().getDisplayMetrics().density); } 
 float ht_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, ht, getResources().getDisplayMetrics()); float wt_px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, wt, getResources().getDisplayMetrics()); 
 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); String str_ScreenSize = "The Android Screen is: " + dm.widthPixels + " x " + dm.heightPixels; TextView mScreenSize = (TextView) findViewById(R.id.strScreenSize); mScreenSize.setText(str_ScreenSize); 

Puedes hacerlo?

O esto también puede ayudar u

 int value = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, (float) 123.4, getResources().getDisplayMetrics()); 
  • ¿Cómo encontrar Intent source en Android?
  • ¿Cómo encontrar Intent source en Android?
  • ¿Cuál es el tamaño óptimo de bitmap para las carpetas ldpi / mdpi / hdpi / xhdpi extraíbles?
  • Diseño para Android - ¿Resolución?
  • Relaciones entre dip, px y dpi
  • ¿Qué resoluciones de aplicaciones para Android son compatibles?
  • Android MediaCodec: Reduce el tamaño del video mp4
  • Cómo escalar mapas de bits en View.Canvas en Android?
  • Galaxy Tab 10.1 resolución de pantalla utilizable (- la barra de menú)
  • Android Emulator informa de 600x1024 MDPI como XLarge?
  • Android xxxhdpi resolución extraíble auto redimensionar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.