返回

一文搞懂Android屏幕尺寸,轻松获取设备参数

Android

在Android开发中,获取设备屏幕尺寸是一个常见需求,尤其是当我们需要根据屏幕尺寸调整UI布局时。本文将详细介绍如何在Android中获取屏幕尺寸参数,包括屏幕宽高、导航栏高度和状态栏高度。

  1. 屏幕宽高

获取屏幕宽高的代码如下:

// 获取屏幕宽度(像素)
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();

// 获取屏幕高度(像素)
int screenHeight = getWindowManager().getDefaultDisplay().getHeight();
  1. 导航栏高度

获取导航栏高度的代码如下:

// 获取导航栏高度(像素)
int navigationBarHeight = 0;
Resources resources = getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0) {
    navigationBarHeight = resources.getDimensionPixelSize(resourceId);
}
  1. 状态栏高度

获取状态栏高度的代码如下:

// 获取状态栏高度(像素)
int statusBarHeight = 0;
Resources resources = getResources();
int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
    statusBarHeight = resources.getDimensionPixelSize(resourceId);
}
  1. 使用示例

以下是一个使用示例,展示了如何获取屏幕宽高、导航栏高度和状态栏高度:

// 获取屏幕宽度(像素)
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();

// 获取屏幕高度(像素)
int screenHeight = getWindowManager().getDefaultDisplay().getHeight();

// 获取导航栏高度(像素)
int navigationBarHeight = 0;
Resources resources = getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0) {
    navigationBarHeight = resources.getDimensionPixelSize(resourceId);
}

// 获取状态栏高度(像素)
int statusBarHeight = 0;
resources = getResources();
resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
if (resourceId > 0) {
    statusBarHeight = resources.getDimensionPixelSize(resourceId);
}

// 输出结果
Log.d("MainActivity", "屏幕宽度:" + screenWidth);
Log.d("MainActivity", "屏幕高度:" + screenHeight);
Log.d("MainActivity", "导航栏高度:" + navigationBarHeight);
Log.d("MainActivity", "状态栏高度:" + statusBarHeight);

希望本文能帮助您轻松获取Android设备屏幕尺寸相关信息。如果您有任何问题,请随时留言。