Was ist eine nicht eingebettete Aktivität und warum funktioniert android: fitsSystemWindows nicht?

8

Ich versuche, das android:fitsSystemWindows -Attribut in einer Ansicht zu verwenden, damit es nicht durch meine transparente Navigationsleiste blockiert wird, aber es tut nichts. Die Android-Dokumentation darauf sagt fitsSystemWindows "Wird nur wirksam, wenn diese Ansicht in einer nicht eingebetteten Aktivität ist."

Was ist eine eingebettete Aktivität? Wäre es möglich, dass ich versehentlich eines erstellt habe? Und ist es möglich, den Effekt von fitsSystemWindows in einem zu bekommen?

    
ario 16.09.2014, 16:54
quelle

1 Antwort

9

Eine eingebettete Aktivität ist eine Aktivität, die in einer übergeordneten Aktivität gehostet wird. Das gängige Beispiel ist das TabHost / TabActivity-Design. Insbesondere liegen eingebettete Acitvities im LocalActivityManager des Hosts, was konzeptionell ähnlich ist wie der FragmentManager , mit dem Sie eine Aktivität innerhalb einer anderen anzeigen können.

Angesichts dieser Definition ist es leicht zu verstehen, warum nur die (nicht eingebettete) Host-Aktivität das Attribut fitsSystemWindows unterstützen kann, da alle eingebetteten Aktivitäten auf den von ihrem Host definierten Bereich beschränkt sind.

Es ist sehr unwahrscheinlich, dass Sie versehentlich eine erstellt haben.

Siehe: android: Verwenden von ActivityGroup zum Einbetten von Aktivitäten

    
TheIT 18.03.2015, 17:14
quelle