Przyjrzeniu raportu diff API dla Androida „L” podglądu, widzę, że wszystkie metody związane z trybów nawigacji w ActionBar
klasie (takich jak setNavigationMode()
, addTab()
, selectTab()
, & c). są teraz przestarzałe.
Dokumentacja wyjaśnia:
Tryby nawigacji na pasku działań są przestarzałe i nie są obsługiwane przez wbudowane paski działań paska narzędzi. Zastanów się nad użyciem innych typowych wzorców nawigacji.
Jaki jest rzekomy zamiennik?
Czy „wbudowane paski akcji paska narzędzi” to nowa koncepcja? Chyba nie słyszałem o tym wcześniej.
Odpowiedzi:
Nowa biblioteka wsparcia projektowania systemu Android dodaje TabLayout , zapewniając implementację zakładek zgodną z wytycznymi projektowania materiałów dla kart . Kompletny przewodnik na temat implementacji Tabs
ViewPager
można znaleźć w tym filmieTeraz przestarzałe: PagerTabStrip jest częścią biblioteki wsparcia (i był przez pewien czas) i służy jako bezpośredni zamiennik. Jeśli wolisz nowsze karty stylu Google Play, możesz użyć biblioteki PagerSlidingTabStrip lub zmodyfikować jeden z podanych przez Google przykładów SlidingTabsBasic lub SlidingTabsColors, jak wyjaśniono w tym filmie Dev Bytes .
źródło
NAVIGATION_MODE_LIST
jest znacznie łatwiejszy, biorąc pod uwagę, że wystarczyło dodać Spinnera i kilka pomocników oddzwaniania.NAVIGATION_MODE_LIST
? Mój uważa to za przestarzałe ...Teraz, gdy dokumenty Android 5.0 są dostępne, mamy oficjalną dokumentację widżetu paska narzędzi Toolbar :
Toolbar
Widget może być również stosowany w celu zastąpienia pasek działań:Przestarzałe tabulatory na pasku akcji są najprawdopodobniej z tego powodu, ponieważ paski narzędzi nie mogą same zawierać tabulatorów.
Jest także dostępny dla poprzednich wersji Androida za pośrednictwem biblioteki appcompat. Aby uzyskać więcej informacji, zobacz ten post Chris Banes . Fragment:
źródło
Wygląda na to, że dodali nową
android.widget.Toolbar
, rozszerzoną klasęViewGroup
. Dodali także nową metodęsetActionBar(Toolbar)
wActivity
. Nie testowałem go jeszcze, ale wygląda na to, można owinąć wszelkiego rodzajuTabWidgets
,Spinners
lub niestandardowe widoki naToolbar
i używać go jako Actionbar.źródło
Nowy
Toolbar
nie może być używany do nadmuchiwania wielu obiektów linii, więc nie można do niego dodawać Tab.Jeśli chcesz użyć
Toolbar
podobnego do aTabWidget
, możesz wstawić do niego obiekty Tab, ale tylko w starym stylu Holo.Oto niestandardowa biblioteka, która używa v7,
Toolbar
podobnie jakTabWidget
nowe animacje Material Design, ale używa tych samych metod, co stareActionBar Tabs
, więc możeszViewPager
do niej dołączyć .źródło
Aby „zastąpić” przestarzałe ActionBar, zmieniłem typ moich zmiennych typu ActionBar na PagerTabStrip, zgodnie z (stary kod w komentarzu):
„Zastąpienie” .selectTab (tabindex) ~ actionBar polegało na użyciu metody .setCurrentItem (int) mojego powiązanego z ViewPager, podobnie jak ten (stary kod w komentarzu):
Mam nadzieję, że to jest pomocne.
źródło
Miałem ten sam problem i to rozwiązanie bardzo mi odpowiadało:
W pliku xml układu, który zawiera przeglądarkę, dodaj PagerTabStrip, jak pokazano:
Aby kontrolować tytuły stron, dodaj instrukcję switch do pliku ViewPager:
źródło
FragmentTabHost jest również opcją.
Ten kod pochodzi ze strony programisty Androida:
źródło
Uważam, że te samouczki są pomocne podczas tworzenia paska akcji (teraz „pasek narzędzi” - argh), który obsługuje przesuwane zakładki w Material Design:
https://www.youtube.com/watch?v=Fl0xMuo10yA
http://www.exoguru.com/android/material-design/navigation/android-sliding-tabs-with-material-design.html
Musisz zsyntetyzować te zasoby, aby dopasować je do konkretnej sytuacji. Na przykład możesz nie chcieć ręcznie tworzyć zakładek w tym samym stylu, co samouczek exoguru.com.
źródło
Dobrze, że mogę obsługiwać przestarzały pasek narzędzi nawigacyjnych za pomocą paska narzędzi appcompat v7 widget.
źródło
Myślę, że odpowiednim zamiennikiem, gdy masz trzy do pięciu ekranów o równym znaczeniu, jest BottomNavigationActivity, można go użyć do przełączania fragmentów.
Zauważysz, że istnieje w tym celu kreator w Android Studio, uważaj jednak, ponieważ Android Studio ma tendencję do tworzenia zbyt skomplikowanego kodu płyty kotłowej.
Samouczek można znaleźć tutaj: https://android.jlelse.eu/ultimate-guide-to-bottom-navigation-on-android-75e4efb8105f
Kolejny poradnik jakości można znaleźć na Android Hive tutaj: https://www.androidhive.info/2017/12/android-working-w--ottott-navigation/
źródło