现在的位置: 首页 > 综合 > 正文

得到屏幕真实高度包含NavigationBar

2018年05月16日 ⁄ 综合 ⁄ 共 808字 ⁄ 字号 评论关闭
	public int getScreentHeight() {
		int heightPixels;
		WindowManager w = this.getWindowManager();
		Display d = w.getDefaultDisplay();
		DisplayMetrics metrics = new DisplayMetrics();
		d.getMetrics(metrics);
		// since SDK_INT = 1;
		heightPixels = metrics.heightPixels;
		// includes window decorations (statusbar bar/navigation bar)
		if (Build.VERSION.SDK_INT >= 14 && Build.VERSION.SDK_INT < 17)
			try {
				heightPixels = (Integer) Display.class
						.getMethod("getRawHeight").invoke(d);
			} catch (Exception ignored) {
			}
		// includes window decorations (statusbar bar/navigation bar)
		else if (Build.VERSION.SDK_INT >= 17)
			try {
				android.graphics.Point realSize = new android.graphics.Point();
				Display.class.getMethod("getRealSize",
						android.graphics.Point.class).invoke(d, realSize);
				heightPixels = realSize.y;
			} catch (Exception ignored) {
			}
		Log.e("realHightPixels-heightPixels", heightPixels + "width");
		return heightPixels;
	}

抱歉!评论已关闭.