Muszę zaimplementować system nawigacji podobny do tego używanego w kliencie Instagram dla systemu Android.Wdrażanie Instagrama jak system nawigacji w aplikacji na Androidzie
- Przez cały czas powinien być stały pasek zakładek u dołu ekranu.
- Gdy użytkownik przechodzi głębiej w obrębie jednej z tych kart, pozwala wyświetlić widok szczegółów, a następnie przechodzi do innej karty, a następnie przełącza się z powrotem na poprzednią kartę, należy wyświetlić ostatni pokazany (głębszy) widok szczegółów i naciśnij ponownie, powinno ono być powtarzane aż do głównego widoku wspomnianej zakładki.
Co ja wymyślił tak daleko jest następujące:
- Mam MainAcitvity przedstawiający menu na dole.
- Po wybraniu punktu menu pojawi się fragment Fragment.
- Gdy użytkownik przejdzie dalej w obrębie Fragmentu, prosi Aktywność Główną o zmianę jego zawartości według podanych kryteriów, co powoduje zmianę pokazanego fragmentu.
- Dodaję wszystkie zmiany Fragmentu do backStack, wywołując metodę addToBackStack() FragmentTransaction.
siedzę w tym momencie i nie można dowiedzieć się, jak włączyć fragmenty na prasach z powrotem, i jak radzić sobie nawigacje zakładki gdy głębsze poglądy są pokazane zamiast główne widoki na kartach.
Mam na myśli wykorzystanie własnych oddzielnych "implementacji backstack" dla każdej zakładki. Gdy użytkownik nawiguje głębiej w obrębie karty, generuję unikalny "tag" i używam tego tagu podczas wywoływania metody addToBackStack(), a także umieszczania tagu w "backStack" zaimplementowanym przeze mnie. Jeśli użytkownik przejdzie ponownie do tej zakładki, mogę sprawdzić, czy mam jakieś znaczniki w "backStack" dla tej karty, a jeśli tak, to wyszukaj ten wpis w prawdziwym backStack w module fragmentManager MainActivity i przełącz na to.
Nie mogłem wymyślić nic lepszego. Czy istnieje jakiś lepszy/prostszy sposób na zachowanie tego zachowania? Czy coś mi brakuje? (Wiem, że to naprawdę zły projekt aplikacji w świecie Androida, ale jest to kolejne pytanie)
Jestem w tej samej sytuacji, mój przyjacielu, jeśli będziesz wiedział, jak to zrobić, to bardzo bym chciał, żebyś to opublikował i powiedział mi proszę, dzięki – Hugo
@ Hugo Przekazałem moje doświadczenia jako odpowiedź. Zarzuty daj mi znać, jeśli uznasz to za pomocne. –