Android 4.4 - Transluzente Status- / Navigationsleisten - fitsSystemWindows / clipToPadding funktionieren nicht bei Fragmenttransaktionen

Bei Verwendung der transluzenten Status- und Navigationsleisten aus den neuen Android 4.4 KitKat-APIs, EinstellungfitsSystemWindows="true" undclipToPadding="false" zu einemListView funktioniert zunächst.fitsSystemWindows="true" Bewahrt die Liste unter der Aktionsleiste und über der Navigationsleiste auf,clipToPadding="false" Ermöglicht es der Liste, unter der transparenten Navigationsleiste zu scrollen, und lässt das letzte Element in der Liste gerade so weit nach oben scrollen, dass es die Navigationsleiste passiert.

Wenn Sie jedoch den Inhalt durch einen anderen ersetzenFragment durch einFragmentTransaction der Effekt vonfitsSystemWindows verschwindet und das Fragment geht unter die Aktionsleiste und die Navigationsleiste.

Ich habe hier eine Codebasis mit Demo-Quellcode zusammen mit einer herunterladbaren APK als Beispiel:https://github.com/afollestad/kitkat-transparency-demo. Um zu sehen, wovon ich spreche, öffnen Sie die Demo-App von einem Gerät aus, auf dem KitKat ausgeführt wird, tippen Sie auf ein Element in der Liste (wodurch eine weitere Aktivität geöffnet wird) und tippen Sie auf ein Element in der neuen Aktivität, die geöffnet wird. Das Fragment, das den Inhalt ersetzt, wird unter der Aktionsleiste angezeigt, und clipToPadding funktioniert nicht ordnungsgemäß (die Navigationsleiste deckt das letzte Element in der Liste ab, wenn Sie ganz nach unten scrollen).

Irgendwelche Ideen? Benötigen Sie eine Klarstellung? Ich habe die Vorher- und Nachher-Screenshots meiner persönlichen App gepostet, die für meinen Arbeitgeber entwickelt wurde.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage