?attr/statusBarSize报红
时间: 2023-07-07 20:34:28 浏览: 222
jQuery中attr()与prop()函数用法实例详解(附用法区别)
如果 `?attr/statusBarSize` 报红,很可能是因为该属性没有在你的项目的 theme 中定义。在 Android 5.0 及以上的版本中,可以使用系统自带的 `android.R.attr.statusBarHeight` 属性来获取状态栏的高度。在布局文件中使用 `?android:attr/statusBarHeight` 来引用该属性,代码示例如下:
```
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="?android:attr/statusBarHeight">
<!-- 这里放置你的子视图 -->
</androidx.coordinatorlayout.widget.CoordinatorLayout>
```
这样就可以在 Android 5.0 及以上的系统中正确地获取状态栏的高度,确保 CoordinatorLayout 与状态栏之间有一定的距离。如果你的应用需要兼容 Android 4.4 及以下的版本,可以在 values-v19 目录下定义一个与默认 theme 相同的 theme,并在该 theme 中定义 `android:statusBarHeight` 属性,来手动指定状态栏的高度。
阅读全文