2014-09-16 1 views
8

Sto cercando di utilizzare l'attributo android:fitsSystemWindows su una vista in modo che non venga bloccato dalla barra di navigazione traslucida, ma non sta facendo nulla. La documentazione di Android su di esso dice fitsSystemWindows "Avrà effetto solo se questa vista è in un'attività non incorporata."Cos'è un'attività non incorporata e perché Android non funziona: fitsSystemWindows ci lavora?

Che cos'è un'attività incorporata? Sarebbe possibile per me averlo creato accidentalmente? Ed è possibile ottenere l'effetto di fitsSystemWindows all'interno di uno?

risposta

9

Un'attività incorporata è un'attività che è ospitata all'interno di un'attività padre. L'esempio comune è il design TabHost/TabActivity. In particolare, le Acitvity incorporate risiedono nell'host LocalActivityManager, che è concettualmente simile allo FragmentManager che consente di visualizzare un'attività all'interno di un'altra.

Data questa definizione, è facile capire perché solo l'attività host (non incorporata) può supportare l'attributo fitsSystemWindows, poiché qualsiasi Attività incorporata è limitata all'area definita dal suo host.

È molto improbabile che ne avremo accidentalmente creato uno.

Vedi: android: using ActivityGroup to embed activities