Convert dp to px
Converting Android’s density independent pixels to actual pixels is quite easy. I always use a function like the below in my projects. It helps keeping apps running correctly with different resolutions:
private int dpToPx(int dp) {
float density = getApplicationContext().getResources().getDisplayMetrics().density;
returnMath.round((float)dp* density);
}
For maximum performance, it’s best to fetch the density value once and use it throughout the app life-cycle. Like this:
public class Conv
{
public static float mDensity;
public static int dpToPx(int dp)
{
return Math.round((float)dp * mDensity);
}
}
public class MainActivity extends Activity
{
@Override public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
Conv.density = getResources().getDisplayMetrics().density;
Log.i("Test", Integer.toString(Conv.dpToPx(100)));
}
}