Ich experimentiere mit den neuen Android 4.4 transluzenten Navigationsleisten und möchte die Navigationsleiste als transparent mit der FLAG_TRANSLUCENT_NAVIGATION
Flag setzen. Ich möchte nur, dass die Navigationsleiste (zurück, Home-Taste usw.) durchscheinend ist - ich möchte, dass die Statusleiste oben auf dem Bildschirm normal angezeigt wird. NICHT durchscheinend. auch leiderZuverlässige Höhe der Statusleiste zu lösen KitKat transluzente Navigation Problem
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}
Das Problem, das ich habe, ist Android nun die Aktivität ist größer anzeigen und legt das Layout hinter der Navigationsleiste denkt (was richtig ist), ist es:
Der Code, den ich dies zu erreichen, verwende ist platziert das Layout hinter der Statusleiste (ein Problem).
Ein Hacky-Fix für diese würde eine Auffüllung an der Spitze der Layout-übergeordneten Ansicht anwenden, aber ich muss die Höhe der Statusleiste bestimmen, um dies zu tun.
Könnte jemand vorschlagen, wie ich die Höhe der Statusleiste bekomme, ist es nicht so trivial wie ich dachte, oder alternativ schlagen Sie eine richtige Lösung vor.
Dank
Hallo Milo, ich habe das gleiche Problem hier. Ich habe diese Problemumgehung versucht, aber mein Layout bleibt hinter meinem ActionBAR. Ich habe ein Top-Padding zu meinem Root-Layout hinzugefügt, aber ich denke, die Statusleiste Höhe ist nicht genug, haben Sie das gleiche Problem? Ich muss eine obere Polsterung für beide Höhen einstellen? – noni
Noni, ich bekomme die Wurzelansicht der Aktivität wie folgt: getWindow(). GetDecorView(). FindViewById (android.R.id.Inhalt); Ich dann Padding Ie anwenden. setPadding (0, statusBarHeight, 0, 0); Hoffe, dass hilft. – Milo