Ist es ratsam, mehrere Ansichten zu stapeln und je nach vorheriger Aktivität dem Benutzer die entsprechenden Widgets/Ansichten anzuzeigen? z.B. Um 2 oder 3 Formulare in 1 Layout-Datei (XML) zu haben und eine Ansicht anzuzeigen, abhängig davon, was der Benutzer sehen möchte.Android Widgets/Ansichten in einer Layoutdatei aufstapeln?
Antwort
Sie können Fragmente verwenden ... Fügen Sie das richtige Fragment zur Aktivität basierend auf der vorhergehenden Aktivität hinzu.
Fragment ist die Lösung in Android, wenn Sie ein bestimmtes Layout für den Benutzer zeigen möchten, erstellen 2,3 Fragmente Android je nach der Bedingung laden Sie das entsprechende Fragment. Sie können dies durchlaufen, um mit Fragmenten zu beginnen. https://developer.android.com/guide/components/fragments.html
Fragmente tun dies. Gestapelte Ansichten sind gut für reduzierte Elemente. Es gibt auch Anwendungen für sie. Die Auswahl basiert auf Ihrem speziellen Anwendungsfall. Von dem, was Sie gesagt haben, würde ich Fragmente empfehlen.
Das Schöne an Fragmenten ist, dass sie Lebenszyklusereignisse (wie Aktivitäten) verarbeiten, aber ohne dass Daten serialisiert und parzelliert werden müssen, um zwischen Ihren Fragmenten zu kommunizieren.
Wie für Ihre Frage "Ist es ratsam, Ansichten zu überlagern?" Ich würde davon abraten, verschiedene Formen UI zu schichten. Das Xml-Design und die Pflege können Haare schnell wachsen lassen.
- 1. Android & Java: Wie erstellt man mehrere Kopien einer Android-Layoutdatei?
- 2. Wie kann ich benutzerdefinierte Namespaces in einer Layoutdatei in Android Studio einrichten?
- 3. Bereitstellen von statischem HTML in Rails mit einer Layoutdatei
- 4. Text zu EditText in einer anderen Layoutdatei setzen
- 5. Wo ist die Layoutdatei meiner Einstellungsaktivität?
- 6. Navigationsschublade, Symbolleiste und Recycler Alle in derselben XML-Layoutdatei anzeigen?
- 7. Mehrere formschöne Polygone aufstapeln, um eine Heatmap zu erstellen
- 8. Die Layoutdatei ist vorhanden, befindet sich jedoch nicht im Layoutordner. Wo finde ich die Layoutdatei?
- 9. Aktuellen Pfad der Seite in Middleman-Layoutdatei abrufen
- 10. So verwenden Sie vordefinierte Android-Konstanten zum Binden von Daten in der XML-Layoutdatei
- 11. Wie lösche ich eine landschaftsspezifische XML-Layoutdatei?
- 12. Automatisches Auflösen aller roten Unterstriche in der XML-Layoutdatei in Android Studio?
- 13. Android - es gibt einen unerwünschten schwarzen Rahmen in der gesamten App für jede Layoutdatei
- 14. Wie lösche ich nur eine landschaftsspezifische XML-Layoutdatei?
- 15. Wie erhalte ich eine Untervorlage (Komponente) in einer Layoutdatei in Winkel 2?
- 16. Wie konvertiere ich diese HTML-Datei in eine web2py-Layoutdatei?
- 17. Wie übertrage ich eine Variable aus einer Layoutdatei in die Grails-Vorlage?
- 18. Wie erstellen Sie ein benutzerdefiniertes CardView-Objekt aus einer XML-Layoutdatei?
- 19. Android Datenbindung. Wie setze ich eine XML-Layoutdatei für generierte * Binding-Klasse
- 20. Magento 2 - Speichern von Variablen zum Blockieren von XML-Layoutdatei
- 21. Verwendung einer Layoutdatei (.lyt) und Datei mit fester Breite, um eine CSV-Dateiausgabe zu erstellen
- 22. ICU Layoutdatei wird Text anders als Microsoft Notepad und Word
- 23. Wie übergibt man Variablen an Fragmente, wenn das Fragment von der Layoutdatei initialisiert wird (nicht programmatisch)?
- 24. Verstecken enthaltenes Layout in Android
- 25. Warum versucht Android, eine XML-Layoutdatei aus dem Layout/res/zu lesen, wenn ich das Layout im Code erstellt habe?
- 26. Android NoClassDefFound in einer Android-Bibliothek
- 27. in Android
- 28. Android: Verwenden mehrerer Bilder übereinander in XML
- 29. Dynamisch laden Layout in Android
- 30. Öffnen einer Webseite in einer Android-App
Vielleicht Fragment ist was Sie wollen – jiashie
@KBJ Sie müssen Fragmente in einem solchen Szenario verwenden, aber in jedem Fall möchten Sie es schnell von derselben Aktivität können Sie die Verwendung von ViewStubs überprüfen (On-Demand-Layout laden, ähnlich wie Einstellung Layout zu sichtbar und weg) https://developer.android.com/training/improving-layouts/loading-ondemand.html – Napolean