Czy ktoś wie, jak zaimplementować przesuwane menu, takie jak niektóre z najlepszych współczesnych aplikacji?
Inne pytania dotyczące przepełnienia stosu nie miały żadnych odpowiedzi, jak to zrobić, więc staram się zebrać jak najwięcej informacji, aby pomóc innym. Wszystkie aplikacje, o których wspomniałem poniżej, świetnie wykonują menu slajdów.
1. Google Plus (od 07.07.12)
Z pierwszego ekranu można przejść tylko na drugi ekran, klikając logo G + w lewym górnym rogu. Zauważ, że cały ekran przesuwa się z pozycji i zostaje przesunięty w prawą stronę ekranu (w tym pasek akcji). Aby powrócić do pierwszego ekranu, możesz przesunąć prawą stronę z powrotem, aby ustawić ostrość, lub ponownie kliknąć ikonę G +.
2. YouTube (od 07.07.12)
Możesz przejść od pierwszego ekranu do drugiego ekranu przy użyciu dwóch metod. Kliknij logo YouTube w lewym górnym rogu lub możesz użyć gestu przeciągnięcia, aby przesunąć je w prawo. To już różni się od aplikacji G +. Po drugie, możesz zobaczyć, że pasek akcji pozostaje ustawiony (w przeciwieństwie do G +). Wreszcie, aby przywrócić oryginalny ekran, działa on podobnie jak G +.
Odpowiedzi:
Edytuj # 3:
Wzór szuflady nawigacji jest oficjalnie opisany w dokumentacji Androida!
Sprawdź następujące linki:
Edytuj # 2:
Roman Nurik (inżynier ds. Projektowania Androida w Google) potwierdził, że zalecane zachowanie polega na tym, aby nie przesuwać paska akcji podczas otwierania szuflady (podobnie jak aplikacja YouTube). Zobacz ten post w Google+ .
Edycja nr 1:
Odpowiedziałem na to pytanie jakiś czas temu, ale wróciłem, aby ponownie podkreślić, że Prixing ma najlepsze dostępne menu ... zdecydowanie . Jest absolutnie piękny, idealnie gładki i zawstydza Facebooka, Google+ i YouTube'a. EverNote jest też całkiem niezły ... ale wciąż nie tak doskonały jak Prixing. Sprawdź tę serię postów na temat tego, jak zaimplementowano menu rozwijane (od samego programisty w Prixing!).
Oryginalna odpowiedź:
Adam Powell i Richard Fulcher rozmawiają o tym w 49:47 - 52:50 w dyskusji Google I / O zatytułowanej „Nawigacja w Androidzie”.
Podsumowując swoją odpowiedź, od daty tego ogłoszenia wysuwane menu nawigacyjne nie jest oficjalnie częścią standardu projektowania aplikacji na Androida. Jak zapewne odkryłeś, obecnie nie ma natywnego wsparcia dla tej funkcji, ale mówiono o tym, aby uczynić ją dodatkiem do nadchodzącej wersji pakietu wsparcia.
Jeśli chodzi o aplikacje YouTube i G +, wydaje się dziwne, że zachowują się inaczej. Domyślam się, że powodem, dla którego aplikacja YouTube ustala pozycję paska akcji, jest:
Jedną z najważniejszych opcji nawigacyjnych dla użytkowników korzystających z aplikacji YouTube jest wyszukiwanie, które odbywa się
SearchView
na pasku działań. Pod tym względem sensowne byłoby ustawienie statycznego paska akcji, ponieważ pozwoliłby on użytkownikowi zawsze mieć możliwość wyszukiwania nowych filmów.Aplikacja G + używa
ViewPager
do wyświetlania zawartości, więc dostosowanie menu do treści układu (tj. Wszystkiego pod paskiem akcji) nie miałoby większego sensu. Przesuwanie ma zapewniać nawigację między stronami, a nie globalną nawigację. Być może dlatego postanowili to zrobić inaczej w aplikacji G + niż w aplikacji YouTube.Z drugiej strony sprawdź aplikację Google Play, aby uzyskać inną wersję „menu wysuwanego” (gdy znajdziesz się na skrajnej lewej stronie, przesuń palcem w lewo i pojawi się menu „pół strony”).
Masz rację, ponieważ nie jest to zbyt konsekwentne zachowanie, ale nie wydaje się, że zespół Androida ma 100% konsensus co do tego, jak to zachowanie należy jeszcze wdrożyć. Nie zdziwiłbym się, gdyby w przyszłości aplikacje były aktualizowane tak, aby nawigacja w obu aplikacjach była identyczna (wydawało się, że bardzo zależy na tym, aby nawigacja była spójna we wszystkich aplikacjach stworzonych przez Google podczas rozmowy).
źródło
Niedawno rozwidliłem bieżący projekt Github o nazwie „RibbonMenu” i zmodyfikowałem go, aby dopasować go do moich potrzeb:
https://github.com/jaredsburrows/RibbonMenu
Jaki jest cel
Co nowego
Pasek akcji z wyłączonym menu
Pasek akcji z wybranym menu i wyszukiwaniem
źródło
Istnieje świetna implementacja tego
NavigationDrawer
, zgodna z Wytycznymi Google Material Design (i zgodna z API 10) - biblioteka MaterialDrawer (link do GitHub) . W momencie pisania, maj 2017, jest aktywnie wspierany.Jest dostępny w repozytorium Maven Central . Konfiguracja zależności stopniowej:
Konfiguracja zależności Maven:
źródło
Wiem, że to stare pytanie, ale najbardziej aktualną odpowiedzią jest skorzystanie z biblioteki Android Support Design , która ułatwi Ci życie.
źródło
Osobiście podoba mi się
navigationDrawer
oficjalna aplikacja na Dysku Google. Po prostu działa i działa świetnie. Zgadzam się, że szuflada nawigacji nie powinna przesuwać paska akcji, ponieważ jest to kluczowy punkt do otwierania i zamykania szuflady nawigacji.Jeśli nadal próbujesz uzyskać takie zachowanie, niedawno utworzyłem projekt Called
SherlockNavigationDrawer
i, jak można się spodziewać, jest implementacja szuflady nawigacyjnej z urządzeniamiActionBarSherlock
działającymi w wersjach wcześniejszych niż plaster miodu. Sprawdź to:SherlockNavigationDrawer github
źródło