Saya menggunakan android.support.design.widget.BottomNavigationView dari design support library versi 25
compile 'com.android.support:design:25.0.0'
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottomBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
app:itemBackground="@color/colorPrimary"
app:menu="@menu/bottom_navigation_main"
android:forceHasOverlappingRendering="true"/>
Jika hanya ada tiga tindakan di @ menu / bottom_navigation_main, ini akan menampilkan ikon dan label teks setiap saat.
Bagaimana cara menampilkan ikon dan label teks setiap saat bila ada lebih dari tiga tindakan.
android
android-support-library
android-support-design
bottomnavigationview
Pengembang Android
sumber
sumber
Jawaban:
Bagi siapa pun yang masih mencari solusi dan tidak ingin bergantung pada library pihak ketiga atau refleksi waktu proses, BottomNavigationView di Support Library 28 / Jetpack secara native mendukung selalu memiliki label teks.
Ini adalah metode yang Anda cari.
Atau dalam XML,
app:labelVisibilityMode="labeled"
sumber
DIPERBARUI DARI 8 Mei 2018
Anda dapat menggunakan
app:labelVisibilityMode="labeled"
langsung di<android.support.design.widget.BottomNavigationView />
Sumber: https://developer.android.com/reference/com/google/android/material/bottomnavigation/LabelVisibilityMode
Tidak perlu solusi panjang di bawah ini.
JAWABAN SEBELUMNYA
Saya memiliki beberapa perilaku aneh dengan BottomNavigationView. Ketika saya memilih item / fragmen apa pun di dalamnya, fragmen tersebut mendorong BottomNavigationView sedikit lebih rendah, sehingga teks BottomNavigationView berada di bawah layar, jadi hanya ikon yang terlihat dan teks tersembunyi saat mengklik item apa pun.
Jika Anda menghadapi perilaku aneh itu maka inilah solusinya. Hapus saja
dalam tata letak root Anda dari fragmen. Hapus saja ini dan boom! BottomNavigationView akan berfungsi dengan baik, sekarang dapat ditampilkan dengan teks dan ikon. Saya memiliki ini di root CoordinatorLayout saya dari fragment.
Juga jangan lupa tambahkan
dalam aktivitas Anda untuk menonaktifkan mode pergeseran.
Inilah kelas itu:
sumber
disableShiftMode
, dan di kelasremoveShiftMode
. Terlepas dari perbedaan kecil itu, jawaban Anda memecahkan masalah untuk saya. Saya sekarang memiliki lima menuitems tanpa bergeser dan dengan ikon + teks. Terima kasih sangat banyak!Sulit di versi 25.
Coba kode ini. Tapi saya pikir itu bukan solusi yang baik.
sumber
Berikut adalah fungsi ekstensi Kotlin yang menggabungkan solusi @STAR_ZERO dan @ KishanSolanki124.
Untuk menggunakannya:
sumber
Apakah Anda ingin efek ini?
Jika demikian, saya merekomendasikan Anda untuk mencoba BottomNavigationViewEx。
sumber
Anda dapat menggunakan ini untuk menampilkan teks dan ikon di BottomNevigationView
Jika Anda menggunakan ini, Anda akan dapat melihat ikon dan teks
sumber
sumber
di kelas BottomNavigationView ada bidang BottomNavigationMenuView dan di BottomNavigationMenuView ada bidang BottomNavigationItemView [], yang merupakan item di bilah bawah.
Katakanlah n adalah jumlah item, BottomNavigationMenuView akan memanggil BottomNavigationItemView.setShiftingMode (n> 3) pada setiap anggota array BottomNavigationItemView []. Fungsi ini memutuskan perilaku (tampilkan judul selalu atau hanya saat pemilihan).
jadi cara untuk selalu menampilkan judul adalah dengan mencoba memanggil metode ini dan Anda dapat menggunakan refleksi untuk mengakses bidang pribadi.
sumber
Untuk menampilkan judul sepenuhnya. Coba kode Kotlin ini:
sumber
Alternatif untuk BottomNavigationViewEx : BottomBar
sumber