1、獲得狀态欄的高度(狀态欄相對Window的位置):
Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top;
2、獲得mView中顯示内容的Top (不包括标題欄,指的是相對Window的位置,即:沒有标題欄的時候,指的是狀态欄的bottom在Window中的坐标;有标題欄的時候指的是标題欄的bottom在Window中的坐标)
getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
3、獲得view中顯示内容,與window無關,隻和父控件有關
如果布局檔案中mView match_parent 那麼top=0,bottom=mView.getHeight();
4、獲得螢幕的寬高:
(1)
getResources().getDisplayMetrics().heightPixels;
getResources().getDisplayMetrics().widthPixels;
(2)
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();//螢幕寬度
int height = wm.getDefaultDisplay().getHeight();//螢幕高度
(3)
DisplayMetrics mDisplayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(mDisplayMetrics);
int W = mDisplayMetrics.widthPixels;
int H = mDisplayMetrics.heightPixels;
(4)過時方法
Display mDisplay = getWindowManager().getDefaultDisplay();
int W = mDisplay.getWidth();
int H = mDisplay.getHeight();
本文轉自 一點點征服 部落格園部落格,原文連結:http://www.cnblogs.com/ldq2016/p/6671924.html,如需轉載請自行聯系原作者