2017-12-31 32 views
-1

Wenn ich Tutorials über die Unterstützung verschiedener Bildschirmgrößen für Android lese, verwenden sie häufig FrameLayout als Platzhalter für das Fragment in FragmentTransaction verwendet. Gefällt mir:Warum sollten wir FrameLayout als Fragmentcontainer für FragmentTransaction verwenden?

getSupportFragmentMananager().beginTransaction() 
.replace(R.id.frame_layout, fragment) 

Warum sollten wir FrameLayout verwenden? Gibt es Vorteile oder Nachteile bei der Verwendung von FrameLayout als Fragmentcontainer? (Ich habe RelativeLayout stattdessen als Fragment Container versucht und es funktioniert immer noch gut). Ich bin ein Neuling und hoffe, dass ich eine klare und gründliche Antwort bekomme.

Edit: Ich habe die Antworten in dem Frage-Link gelesen, die Sie angegeben haben (das mögliche Duplikat). Es fehlt jedoch ein klares Beispiel. Ich möchte wirklich ein einfaches Beispiel, das zeigt, warum ich FrameLayout anstelle von anderen Layout-Typen verwenden sollte.

+0

Ich sehe es. Danke Zeero0 – Dan

+0

Danke Zeroo0. Ich habe die Antworten in dieser Frage gelesen, aber es fehlt ein klares Beispiel. Kann es jemand verständlicher erklären? – Dan

+0

weil Fragmente gestapelt sind, die in der gleichen Art wie Rahmenlayouts sind, die ihre Kinder stapeln. – Remario

Antwort

1

Um die vorherige Antwort zu ergänzen, ist die wirkliche Erkenntnis, wenn Sie eine Fragmenttransaktion verwenden, normalerweise möchten Sie ein Fragment zu einem gespeicherten Punkt in einem Layout zur Anzeige hinzufügen. Sie möchten grundsätzlich, dass diese eine Ansicht angezeigt wird, der Grund, warum FrameLayout die normative Präferenz ist, ist direkt mit dem Entwurfszweck verknüpft. Einfach gesagt werden alle anderen Layouts hauptsächlich für Multi-Kind-Inklusion verwendet. FrameLayout handhabt ein einzelnes Kind effizienter, da es außer der Schwerkraftzuweisung keine besondere Reihenfolge gibt.

+0

Es gibt keine Notwendigkeit für Beispiele, es ist wirklich eine Design-Wahl, architektonischer Standpunkt beim Auslegen von Gegenständen. FrameLayout ist normalerweise ein Kind, vs. Linear und relativ, wobei mehrere untergeordnete Layouts auf Position und Ausrichtung zusammengesetzt sind. – Remario

+0

und auch Frame-Layout bietet Switching, da Elemente gestapelt sind, erhalten jeweils eine Position, die Sie manipulieren können, wieder da frame Layout ist keine Orientierung oder Position basierend auf Standorten über das Layout – Remario

+0

Das Beispiel des OP verwendet 'ersetzen 'so können wir sagen Wir haben nur 1 Kindfragment. – Enzokie

Verwandte Themen