Mengambil melihat laporan diff API untuk Android "L" preview, saya melihat bahwa semua metode yang terkait dengan mode navigasi di ActionBar
kelas (seperti setNavigationMode()
, addTab()
, selectTab()
, & c). sekarang sudah ditinggalkan.
Dokumentasi menjelaskan:
Mode navigasi bilah tindakan sudah usang dan tidak didukung oleh bilah tindakan bilah alat inline. Pertimbangkan untuk menggunakan pola navigasi umum lainnya sebagai gantinya.
Apa pengganti yang seharusnya?
Juga, apakah "bilah tindakan bilah alat inline" konsep baru? Kurasa aku belum pernah mendengarnya sebelumnya.
Jawaban:
Perpustakaan Dukungan Desain Android baru menambahkan TabLayout , menyediakan implementasi tab yang cocok dengan pedoman desain materi untuk tab . Panduan lengkap tentang cara menerapkan Tab dan
ViewPager
dapat ditemukan di video iniSekarang usang: The PagerTabStrip merupakan bagian dari perpustakaan dukungan (dan telah selama beberapa waktu) dan berfungsi sebagai pengganti langsung. Jika Anda lebih suka tab gaya Google Play yang lebih baru, Anda dapat menggunakan pustaka PagerSlidingTabStrip atau memodifikasi salah satu contoh yang disediakan oleh Google SlidingTabsBasic atau SlidingTabsColors seperti yang dijelaskan dalam video Dev Bytes ini .
sumber
NAVIGATION_MODE_LIST
jauh lebih mudah, mengingat semua yang dilakukan adalah menambahkan Spinner dan beberapa pembantu callback.NAVIGATION_MODE_LIST
? Milik saya daftar itu sudah usang ...Sekarang karena Android 5.0 docs tersedia, kami memiliki dokumentasi resmi untuk widget Toolbar :
Sebuah
Toolbar
widget juga dapat digunakan untuk menggantikan bar tindakan:Penghentian tab di bilah tindakan kemungkinan besar disebabkan oleh hal ini, karena bilah alat tidak dapat memuat tab itu sendiri.
Juga, tersedia untuk versi Android sebelumnya melalui pustaka appcompat. Lihat posting ini oleh Chris Banes untuk informasi lebih lanjut. Kutipan:
sumber
Sepertinya mereka menambahkan Kelas baru yang bernama
android.widget.Toolbar
memanjangViewGroup
. Mereka juga menambahkan metode barusetActionBar(Toolbar)
diActivity
. Saya belum mengujinya, tetapi sepertinya Anda dapat membungkus semua jenisTabWidgets
,Spinners
atau tampilan khusus menjadiToolbar
dan menggunakannya sebagai Actionbar Anda.sumber
Yang baru
Toolbar
tidak dapat digunakan untuk menggembungkan banyak objek garis, jadi tidak mungkin untuk menambahkan Tab ke dalamnya.Jika Anda ingin menggunakan
Toolbar
sejenis,TabWidget
Anda dapat menyisipkan beberapa Objek Tab untuk itu, tetapi hanya dengan gaya Holo lama.Di sini ada Perpustakaan kustom yang menggunakan v7
Toolbar
sepertiTabWidget
dengan animasi Desain Bahan baru, tetapi menggunakan metode yang sama dari yang lamaActionBar Tabs
, sehingga Anda dapat melampirkan AndaViewPager
untuk itu.sumber
Untuk 'penggantian' ActionBar yang sudah usang, saya mengubah jenis variabel tipe ActionBar saya menjadi PagerTabStrip, sesuai (kode lama dalam komentar):
Sebuah 'pengganti' untuk .selectTab (tabindex) ~ actionBar adalah menggunakan metode .setCurrentItem (int) ViewPager yang terkait, seperti ini (kode lama dalam komentar):
Semoga ini bisa membantu.
sumber
Saya memiliki masalah yang sama dan solusi ini cocok untuk saya:
Di file layout xml yang berisi viewpager, tambahkan PagerTabStrip seperti yang ditunjukkan:
Untuk mengontrol judul halaman, tambahkan pernyataan beralih ke file ViewPager Anda:
sumber
FragmentTabHost juga merupakan opsi.
Kode ini dari situs pengembang Android:
sumber
Saya menemukan tutorial ini bermanfaat saat menyusun action bar (sekarang 'tool bar' - argh) yang mendukung tab geser dengan Desain Material:
https://www.youtube.com/watch?v=Fl0xMuo10yA
http://www.exoguru.com/android/material-design/navigation/android-sliding-tabs-with-material-design.html
Anda harus mensintesis sumber daya ini agar sesuai dengan situasi khusus Anda. Misalnya, Anda mungkin tidak ingin membuat tab secara manual dengan gaya yang sama dengan tutorial exoguru.com.
sumber
Baik bagi saya untuk menangani bilah alat navigasi yang tidak digunakan lagi dengan menggunakan bilah alat v7 widget appcompat.
sumber
Saya pikir pengganti yang cocok untuk ketika Anda memiliki tiga hingga lima layar yang sama pentingnya adalah BottomNavigationActivity, ini dapat digunakan untuk beralih fragmen.
Anda akan melihat ada penyihir untuk ini di Android Studio, hati-hati karena Android Studio memiliki kecenderungan untuk menghasilkan kode pelat ketel yang terlalu rumit.
Sebuah tutorial dapat ditemukan di sini: https://android.jlelse.eu/ultimate-guide-to-bottom-navigation-on-android-75e4efb8105f
Tutorial kualitas lainnya dapat ditemukan di Android Hive di sini: https://www.androidhive.info/2017/12/android-working-with-bottom-navigation/
sumber