Getting screen width Android in dips

android, density-independent-pixel, java, screen, width

Solution

 Display display = getWindowManager().getDefaultDisplay();
 DisplayMetrics outMetrics = new DisplayMetrics ();
 display.getMetrics(outMetrics);

 float density  = getResources().getDisplayMetrics().density;
 float dpHeight = outMetrics.heightPixels / density;
 float dpWidth  = outMetrics.widthPixels / density;

Also refer: http://developer.android.com/guide/practices/screens_support.html#dips-pels

Problem

I want to get the screen width , and set it to my layout which is a child of a Horizontal Scroll View . I am doing this but it makes my layout wider than I want . padding is defined with dips. ``` Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics (); display.getMetrics(outMetrics); float density = getResources().getDisplayMetrics().density; int padding = getResources().getDimensionPixelSize(R.dimen.padding); layoutWidth = (int) ((outMetrics.widthPixels * density) - 2*padding); ```

Original source