2014-09-16 4 views
8

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

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?

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 befinden sich eingebettete Acitvities in der LocalActivityManager des Hosts, die konzeptionell der FragmentManager ähnelt, mit der Sie eine Aktivität innerhalb einer anderen anzeigen können.

Angesichts dieser Definition ist es einfach zu verstehen, warum nur die (nicht eingebettete) Hostaktivitä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 einen erstellt haben.

Siehe: android: using ActivityGroup to embed activities

Verwandte Themen