For any API-level less than 17, use the snippets of code you are using successfully now.
For API-level 17 and higher (your Nexus 7 running 4.2), use this: https://developer.android.com/reference/android/view/Display.html#getRealSize(android.graphics.Point) On Monday, November 19, 2012 6:29:14 AM UTC-5, Makrand wrote: > > I am trying to get the actual screen width and height of the Nexus 7 > running on 4.2. > > I am doing some runtime calculations based on device width and height to > resize buttons and some UI elements, so it will look proper in all devices. > my code was working great in all SDKs 4.1 and below but not working on 4.2. > > I am using following code to get width and height. > > Code: 1 > DisplayMetrics displaymetrics = new DisplayMetrics(); > getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); > mWidth = displaymetrics.widthPixels; > mHeight = displaymetrics.heightPixels; > > Code: 2 > Point size = new Point(); > WindowManager w = getWindowManager(); > w.getDefaultDisplay().getSize(size); > mWidth = size.x; > mHeight = size.y; > > I have also tried with undocumented methods > Code: 3 > Display display = getWindowManager().getDefaultDisplay(); > Method mGetRawW = Display.class.getMethod("getRawWidth"); > Method mGetRawH = Display.class.getMethod("getRawHeight"); > mWidth = (Integer) mGetRawW.invoke(display); > mHeight = (Integer) mGetRawH.invoke(display); > > But none of above is working with Nexus 7 running on 4.2, its always > subtracting status bar height, I am not getting full height. > > I have used some methods to calculate status bat height but not getting > proper values, > > int statusBarHeight = Math.ceil(25 * > context.getResources().getDisplayMetrics().density); > > AND > > Rect rectgle= new Rect(); > Window window= getWindow(); > window.getDecorView().getWindowVisibleDisplayFrame(rectgle); > int StatusBarHeight= rectgle.top; > > is there any standard way to get actual device screen height and width? > -- -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

