注意:布局窗口是在handleResumeActivity中完成的,但是是先调用onResume再布局窗口的,所以在onResume中获取尺寸是不行的。
获取屏幕尺寸:
public void onClick(View v) {
Rect r = new Rect();
//不包括导航栏和状态栏。是相对于屏幕坐标系,注意要在窗口布局后获取
getWindow().getDecorView().getWindowVisibleDisplayFrame(r);
Log.e(MainActivity.class.getSimpleName(), r.toString());
DisplayMetrics dm = new DisplayMetrics();
//不包括导航栏但包括状态栏
getWindowManager().getDefaultDisplay().getMetrics(dm);
Log.e(MainActivity.class.getSimpleName(), dm.toString());
//包括导航栏和状态栏
getWindowManager().getDefaultDisplay().getRealMetrics(dm);
Log.e(MainActivity.class.getSimpleName(), dm.toString());
}
获取导航栏高度:
getResources().getDimension