如何正确的得到屏幕大小信息?

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 getHeightmethods 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.

posted @ 2013-02-01 16:11  __木头鱼__  阅读(182)  评论(0编辑  收藏  举报