DP-Pixel conversion on Android


android_multi_screen.png?w=2924

Introduction

This is just a note for myself to remind me how to do dp-to-pixel translation and vice versa. Let’s see how to do it.

public static float convertDpToPixel(float dp, Context context) {	
	float px = dp * getDensity(context);	
	return px;
}

public static float convertPixelToDp(float px, Context context) {	 
	float dp = px / getDensity(context);
	return dp;
}

public static float getDensity(Activity context) {
	DisplayMetrics metrics = new DisplayMetrics();
	context.getWindowManager().getDefaultDisplay().getMetrics(metrics);		
	return metrics.density;
}

It’s pretty simple, enjoy. Happy Coding.

[Reference]

  1. DisplayMetrics  |  Android Developers
  2. Screen compatibility overview  |  Android Developers
  3. Pixplicity | DP/PX converter