Java [Android APP/Android Studio] Neue Activity ohne neue Activity?

DreamGamer

Lieutenant
Registriert
Feb. 2017
Beiträge
543
Hallo, ich wollte mal fragen, ob es die Möglichkeit gibt ein neues Layout zu erstellen und dieses zu laden ohne eine neue Activity zu erstellen. Also als Beispiel bei WhatsApp ist es so wenn du die App öffnest wird ganz normal eine Activity geöffnet. Aber jedes mal wenn man auf einem Chat drückt, kommt der Chat von Rechts nach Links hineingeflogen. Ich würde gerne als Chat einen Shop haben in meiner App. Wie geht so etwas? Und kann man dies irgendwie vorladen also das z.b. während dem App Start alle Layouts geladen werden ohne angezeigt zu werden damit man keine Leistung verliert. Weil ich finde es wirkt halt komisch wenn man in der App ist und in den Shop möchte und es Ersteinmal 2 Sekunden lädt. In WhatsApp laden die Chats ja auch nie ^^ Freue mich über jede Antwort. Und sorry falls hier vllt. Vieles keinen sinn macht programmiere noch nicht lange Apps bzw. dies ist erste App.


Und falls es unverständlich ist was ich meine, könnte ich dazu ein Video senden damit man versteht was ich meine.

MFG DreamGamer

EDIT:
Um es vllt. besser zu verstehen hier ein Video um zu verstehen was ich meine:
https://youtu.be/8CsmGbyhFwo
 
Zuletzt bearbeitet:
Den Einblendeffekt kannst du mit Fragmenten machen.
Ob das Vorladen von Layouts geht weiß ich nicht, ich bezweifle aber, dass die App dann performanter wird. Was dagegen deutlich länger dauert ist das Laden das Daten aus dem Internet (und möglicherweise auch vom Handyspeicher/Datenbank). Diese Daten kannst du aber problemlos vorladen (guck mal nach AsyncTask). Beachte auch, dass der verfügbare RAM je nach Modell stark begrenzt ist (keine Ahnung was du da alles vorhalten willst).
 
Uhh Fragmente klingt sehr interessant und hilfreich danke dafür schonmal ^^ Habe alle also Shop Options usw. immer mit einer Extra Activity gemacht was denke ich sehr dumm war. Habe jetzt erstmal viel zu lesen :) Ich hoffe es ist richtig wenn ich alles mit Fragmenten mache wenn ja danke für die Hilfe dann bist du meine Rettung :D

- DreamGamer
 
Hey, ich hätte noch eine Frage. Kennst hier jemand ein gutes Tutorial was einfach nur einem erklärt wie man ein Fragment lädt und es anzeigt. Finde nur Tutorials die 0 sinn machen oder die sehr schlecht erklärt sind. Wollte als Beispiel zum testen per Knopf druck mit dem Button Shop ein Layout "ShopLayout" öffnen und in diesem layout mit dem Button Zurück wieder in den Home screen. Finde aber keine Tutorials wo auch nur irgendwie so etwas erklärt ist ich finde nur solche Sachen wo Fragmente im Bald sind also wie ein teil des Bildes aus einem Fragment besteht und das andere aus einem Standard layout. Geht das überhaupt so wie ich das geplant habe?
 
Keine Ahnung, welche Tutorials dir nicht zugesagt haben. Das hier ist das offizielle, einschließlich der Transactions und des Problems mit dem Zurück-Button: https://developer.android.com/guide/components/fragments.html
Du musst die Fragmente alle per Code einsetzen, nicht in das Layout der Activity.
 
Oh stimmt ist wirklich gut auf der Android Studio Seite erklärt ^^ Hätte ich mir vllt. Doch mal anschauen solln. Jetzt weiß ich zu mindestens wie ich beim Starten der App ein Fragment festlege jetzt muss ich mich nur noch durchlesen wie ich das Fragment Wechsel wenn ich z.b. einen Knopf drücke ^^ Danke nochmals für die Hilfe.
 
Hallo nochmals, ich hätte nochmal eine Frage zum Thema "Fragments" und zwar ich habe jetzt meine App so umgeschrieben dass ich den ladescreen das Spiel Werbung usw. als eigenes Fragment habe. Nur habe ich jetzt das Problem ich habe die Werbung also Banner komplettes Bild usw. jeweils als einzelnes Fragment und den Rest als main_Fragment eingespeichert, wo der ladescreen Shop, options usw. sind, wo immer .replace benutzt wird. Nur habe ich jetzt das Problem wenn ich im Spiel bin und zurück drücke lande ich wieder im Ladescreen was logischer weise nicht passieren sollte. Irgendwie kann ich ja über addToBackStack hinzufügen was was ist und somit doch irgendwie z.b. den Ladescreen nach dem das Spiel hineingeladen wurde löschen oder nicht? Finde nur leider kein Tutorial oder irgendein Example. Auf der Android Fragment Seite finde ich auch nicht viel dazu gibt es dafür irgendein weg oder gehe ich den komplett falschen Weg?

- DreamGamer


EDIT:
Frage: Sollte ich lieber alles als eigenes Fragment haben also in der XML Datei also Fragment für den Shop eins für das Spiel und eins für den ladescreen? Wäre dies besser ?
 
Zuletzt bearbeitet:
DreamGamer schrieb:
Nur habe ich jetzt das Problem wenn ich im Spiel bin und zurück drücke lande ich wieder im Ladescreen was logischer weise nicht passieren sollte.
Dann darfst du bis zum ersten echten Menü nicht addToBackStack() aufrufen, sonst hast du den im Backstack drin.

DreamGamer schrieb:
Frage: Sollte ich lieber alles als eigenes Fragment haben also in der XML Datei also Fragment für den Shop eins für das Spiel und eins für den ladescreen? Wäre dies besser ?
Ja, dann hast du weniger Probleme beim Navigieren.
 
Zurück
Oben