Android 距离状态栏
时间: 2023-08-05 11:33:04 浏览: 80
在 Android 中,可以通过以下两种方式获取状态栏的高度:
1. 使用资源文件获取
在 res/values 目录下创建一个 dimens.xml 文件,添加如下代码:
```xml
<resources>
<dimen name="status_bar_height">24dp</dimen>
</resources>
```
然后在代码中使用以下代码获取状态栏高度:
```java
int statusBarHeight = getResources().getDimensionPixelSize(R.dimen.status_bar_height);
```
2. 使用反射获取
```java
public static int getStatusBarHeight(Context context) {
int statusBarHeight = 0;
try {
Class<?> c = Class.forName("com.android.internal.R$dimen");
Object obj = c.newInstance();
Field field = c.getField("status_bar_height");
int x = Integer.parseInt(field.get(obj).toString());
statusBarHeight = context.getResources().getDimensionPixelSize(x);
} catch (Exception e) {
e.printStackTrace();
}
return statusBarHeight;
}
```
以上代码可以获取到状态栏的高度,单位为像素。
阅读全文