如何正确的得到屏幕大小信息?
http://stackoverflow.com/questions/1016896/android-how-to-get-screen-dimensions
I created some custom elements and I want to programatically place them to the upper right corner (n pixels from the top edge and m pixels from the right edge) therefore I need to get the screen width and screen height and then set position:
int px = screenWidth - m;int py = screenWidth - n;
Does anyone know how to get screenWidth and screenHeight in the main Activity?
Thanks
If you want the the display dimensions in pixels you can use getSize
:
Display display = getWindowManager().getDefaultDisplay();Point size =newPoint();
display.getSize(size);int width = size.x;int height = size.y;
If you're not in an Activity
you can get the default Display
via WINDOW_SERVICE
:
WindowManager wm =(WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);Display display = wm.getDefaultDisplay();
Before getSize
was introduced (in API level 13), you could use the getWidth
and getHeight
methods that are now deprecated:
Display display = getWindowManager().getDefaultDisplay();int width = display.getWidth();// deprecatedint height = display.getHeight();// deprecated
For the use case you're describing however a margin/padding in the layout seems more appropriate.