Andoid 获取状态栏高度
时间: 2024-10-12 12:04:25 浏览: 44
Android中获取状态栏高度的两种方法分享
在Android中获取状态栏的高度通常是为了适应全屏显示或者是处理布局时需要考虑系统状态栏的影响。你可以通过多种方式来获取状态栏的高度:
1. **在Activity中**,可以使用`Window`类的`getDecorView()`方法结合`getHeight()`和`getStatusBarHeight()`属性来获取状态栏的高度。例如:
```java
int statusBarHeight = ViewCompat.getSystemWindowInsetTop(window);
```
2. **在Fragment中**,可以在`onCreateView()`方法里找到对应的`ViewGroup`并执行同样的操作。
3. **静态库**:如果你的应用包含一个Library,可以创建一个工具类,提供一个静态方法来获取状态栏高度,然后其他模块可以使用这个方法。
4. **API >= 21**,在Android Lollipop (API level 21)及以后版本,可以直接使用`Resources`类的`getDimensionPixelSize()`方法,传入资源ID `R.dimen.status_bar_height`。
```java
int statusBarHeight = Resources.getSystem().getDimensionPixelSize(R.dimen.status_bar_height);
```
阅读全文