Wohin ich auch schaue, FrameLayout
scheint als FragmentContainer
verwendet werden. Warum wird FrameLayout
immer mit Fragments
gesehen?Warum wird ein FrameLayout für Fragmente verwendet?
Antwort
Sie können im Grunde verwenden RelativeLayout
oder LinearLayout
es wird immer noch funktionieren, aber die Antwort auf Ihre Frage ist in FrameLayout
‚s Dokumentation:
FrameLayout ist so konzipiert, auf dem Bildschirm einen Bereich zu blockieren, eine anzuzeigen Einzelexemplar. Im Allgemeinen sollte FrameLayout eine einzelne untergeordnete Ansicht enthalten, da es schwierig sein kann, untergeordnete Ansichten in einer Weise zu organisieren, die auf verschiedene Bildschirmgrößen skalierbar ist, ohne dass sich die untergeordneten Elemente gegenseitig überlappen. Sie können jedoch mehrere untergeordnete Elemente zu einem FrameLayout hinzufügen und ihre Position innerhalb des FrameLayouts mithilfe von mit der Zuweisung der Schwerkraft zu jedem untergeordneten Element steuern, indem Sie das Attribut android: layout_gravity verwenden.
Sie können mehr über FrameLayout
hier lesen: FrameLayout/Android Developers
Hauptzweck der Rahmenplan ist die Fläche blockieren erforderlich, um das größte Kind Blick passen. Wenn Sie ein Rahmenlayout als Fragmentcontainer verwenden, können Sie sicherstellen, dass immer der verfügbare Platz für das größte Fragmentlayout zur Verfügung steht.
In einigen Fällen müssen Sie möglicherweise mehr als 1 Fragment gleichzeitig auf dem Bildschirm haben. In diesem Fall sollten Sie relatives oder lineares Layout bevorzugen.
Alles basiert auf Benutzeranforderungen und Anpassung benötigt.
Es ist nicht notwendig, FrameLayout überhaupt zu verwenden.
Zum Beispiel in unten Code wird kein Layout genommen, und Fragment selbst enthält nur einzelne Bildansicht.
public class MyFragment extends Fragment implements OnClickListener{
String TAG="MyFragment";
Context c;
MyFragment(Context con){
c=con;
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
ImageView v=new ImageView(c);
//other imageview stuff
return v;
}
@Overrides
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i(TAG, "onClcik");
}
}
- 1. Warum konnte FragmentManager.FindFragmentById gegen FrameLayout verwendet werden?
- 2. FrameLayout vs RelativeLayout für Overlays
- 3. Wird onDestroy() garantiert für Fragmente aufgerufen?
- 4. Warum wird in URLs ein Ausrufezeichen verwendet?
- 5. Warum wird Java häufig für Unternehmensanwendungen verwendet?
- 6. FrameLayout mit abgerundeten Ecken
- 7. Warum wird Suhosin verwendet?
- 8. Kann ein Fragment nicht aus FrameLayout entfernen?
- 9. Warum wird INSERT/* + APPEND */verwendet?
- 10. Versuch, meinem Fragmentcontainer ein Fragment hinzuzufügen FrameLayout
- 11. Wie wird die Layout-Gravitation für ein Layout festgelegt, z. B. ein FrameLayout?
- 12. Warum neuraler Stack verwendet wird?
- 13. OnBackPressed für Fragmente verwenden
- 14. fitsSystemWindows Effekt für Fragmente über FragmentTransaction gegangen
- 15. Speicherprobleme - Fragmente
- 16. Übereinander angezeigte Fragmente
- 17. Warum wird die Übertragungswarteschlange verwendet?
- 18. Warum wird empfohlen, Fragmente nicht mit der Benutzeroberfläche zu behalten?
- 19. Warum array.push() wird verwendet, um ein Objekt zu erstellen?
- 20. Android: Wann/warum sollte ich FrameLayout anstelle von Fragment verwenden?
- 21. Fragmente in Aktivität
- 22. Android: Wie fügt man ein Canvas in ein FrameLayout ein?
- 23. Warum wird für diese Abfrage kein Index verwendet?
- 24. Was ist ein Liquibase-Produzent und warum wird er verwendet?
- 25. Erste ein Objekt verwendet wird
- 26. Warum wird java.io.ObjectStreamException im WTK-Stub-Generator für Aufzählungen verwendet?
- 27. Warum wird so viel Stapelspeicher für jede Rekursion verwendet?
- 28. Warum wird in Java 7 der Diamantoperator für Typinferenz verwendet?
- 29. Kann ein ListView Fragmente enthalten
- 30. Wann wird ein Initform verwendet?