Skip to content

Instantly share code, notes, and snippets.

@umpteenthdev
Created May 16, 2019 10:00
Show Gist options
  • Select an option

  • Save umpteenthdev/88aef09a394591f6539b7dbfe91a8194 to your computer and use it in GitHub Desktop.

Select an option

Save umpteenthdev/88aef09a394591f6539b7dbfe91a8194 to your computer and use it in GitHub Desktop.
How to get height of status bar
class MainActivity : ActivityCompat {
private lateinit var bordersListener: ViewTreeObserver.OnGlobalLayoutListener
private var statusBarHeight = 0
override fun onCreate(savedInstanceState: Bundle?) {
val decorView = window.decorView
bordersListener = ViewTreeObserver.OnGlobalLayoutListener {
val r = Rect()
decorView.getWindowVisibleDisplayFrame(r)
val topOffset = r.top
if (topOffset > 0) {
statusBarHeight = topOffset
removeBordersListener()
}
}
decorView.viewTreeObserver.addOnGlobalLayoutListener(bordersListener)
}
private fun removeBordersListener() {
window.decorView.viewTreeObserver.removeOnGlobalLayoutListener(bordersListener)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment