I want to get real resolution of screen on Android Honeycomb.
Here\'s my code
Display display = getWindowManager().getDefaultDisplay();
int w = displ
This is another viable solution for measuring the screen size (API 11+):
public static ABDimension calculateScreenDimensions(Activity activityGet)
{
ABDimension abdReturn = new ABDimension();
try
{
Rect rectGet = new Rect();
Window winGet = null;
DisplayMetrics displayMetrics = new DisplayMetrics();
int nStatusBarHeight = 0;
int nContentViewTop = 0;
int nTitleBarHeight = 0;
int nScreenHeight = 0;
if((activityGet != null) && (rectGet != null) && (displayMetrics != null))
{
winGet = activityGet.getWindow();
if(winGet != null)
{
winGet.getDecorView().getWindowVisibleDisplayFrame(rectGet);
nStatusBarHeight = rectGet.top;
nContentViewTop = winGet.findViewById(Window.ID_ANDROID_CONTENT).getTop();
nTitleBarHeight = nContentViewTop - nStatusBarHeight;
activityGet.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int screenHeight = displayMetrics.heightPixels;
abdReturn.nWidth = displayMetrics.widthPixels;
abdReturn.nHeight = screenHeight - (nTitleBarHeight + nStatusBarHeight);
}
}
}
catch(Exception e)
{
appContext.showMessage(false,"Error","[calculateScreenDimensions]: "+e.toString());
}
return abdReturn;
}
Where the ABDimension class contains six integers labeled nWidth, nHeight, nMarginLeft, nMarginTop, nMarginRight and nMarginBottom. This version accounts for common Android decor components like the TitleBar/StatusBar.