386 Stimmen

Höhe der Statusleiste in Android

Wie hoch ist die Statusleiste in Android? Ist sie immer gleich hoch?

Nach meinen Messungen scheint es 25dp zu sein, aber ich bin nicht sicher, ob es auf allen Plattformen die gleiche Höhe hat.

(Ich möchte dies wissen, um einen Übergang von einer Aktivität, die keine Statusleiste hat, zu einer, die eine hat, richtig zu implementieren)

34voto

Rashid Punkte 1305

Nach Angaben von Materielle Anleitung Die Höhe der Statusleiste beträgt 24 dp.

Wenn Sie die Höhe der Statusleiste in Pixel erhalten möchten, können Sie die folgende Methode verwenden:

private static int statusBarHeight(android.content.res.Resources res) {
    return (int) (24 * res.getDisplayMetrics().density);
}

die von der Aktivität aus mit aufgerufen werden kann:

statusBarHeight(getResources());

26voto

crysxd Punkte 3013

Die Standardhöhe betrug früher 25dp. Mit Android Marshmallow (API 23) wurde die Höhe auf 24dp reduziert.

Update: Bitte beachten Sie, dass seit dem Zeitalter der Notches und Lochkameras eine statische Höhe für die Statusleiste nicht mehr funktioniert. Bitte verwenden Sie stattdessen Fenstereinsätze!

21voto

Parag Chauhan Punkte 34996

Dies funktioniert auch mit der Referenz Link

public int getStatusBarHeight() {
  int result = 0;
  int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
  if (resourceId > 0) {
      result = getResources().getDimensionPixelSize(resourceId);
  }
  return result;
}

20voto

tomrozb Punkte 24642

Kotlin-Version, die zwei beste Lösungen kombiniert

fun getStatusBarHeight(): Int {
    val resourceId = resources.getIdentifier("status_bar_height", "dimen", "android")
    return if (resourceId > 0) resources.getDimensionPixelSize(resourceId)
    else Rect().apply { window.decorView.getWindowVisibleDisplayFrame(this) }.top
}
  1. Nimmt status_bar_height Wert, falls vorhanden
  2. Wenn status_bar_height nicht vorhanden ist, berechnet die Höhe der Statusleiste aus dem Fensterdekor

17voto

Joaquin Iurchuk Punkte 5263

Die offizielle Höhe ist 24dp , wie offiziell von Google erklärt wird auf Android-Design-Webseite .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X