全屏活动中的状态栏高度

Sal*_*ian 5 android margin statusbar

我的应用程序中有一个全屏活动。我希望我的页面标题位于状态栏下方。如何测量全屏活动中状态栏的高度?

我对此进行了研究并尝试了它们。其中之一是this,它使用了 xml 中的一个属性,但在我的情况下不起作用。另一种是第二种解决方案

    val rectangle = Rect()

    window.decorView.getWindowVisibleDisplayFrame(rectangle)
    val statusBarHeight = rectangle.top
Run Code Online (Sandbox Code Playgroud)

statusBarHeight是 0,因为它可能是全屏活动。有什么帮助可以将我的一些元素(例如标题)放置在状态栏工作人员下方吗?

Sal*_*ian 10

我终于找到答案了:))

     val statusBarHeightId = resources.getIdentifier("status_bar_height", "dimen", "android")

     val statusBarHeight = resources.getDimensionPixelSize(statusBarHeightId)
Run Code Online (Sandbox Code Playgroud)

statusBarHeight就是我想要的。


Ami*_*dey -2

尝试 android:layout_marginTop="@android:dimen/status_bar_height"

您还可以通过编程方式获取状态高度

  • 我收到错误“AAPT:错误:资源 android:dimen/status_bar_height 是私有的。” (3认同)