Saya menambahkan sebuah BottomNavigationView
ke proyek, dan saya ingin memiliki warna teks (dan ikon warna) yang berbeda untuk tab yang dipilih (untuk mencapai efek tab yang tidak beruban yang tidak dipilih). Menggunakan warna yang berbeda dengan android:state_selected="true"
dalam file sumber daya pemilih warna tampaknya tidak berfungsi. Saya juga mencoba memiliki entri item tambahan dengan android:state_focused="true"
atau android:state_enabled="true"
, tidak ada efek sayangnya. Juga mencoba mengatur state_selected
atribut ke false (eksplisit) untuk warna default (tidak dipilih), tanpa hasil.
Inilah cara saya menambahkan tampilan ke tata letak saya:
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/silver"
app:itemIconTint="@color/bnv_tab_item_foreground"
app:itemTextColor="@color/bnv_tab_item_foreground"
app:menu="@menu/bottom_nav_bar_menu" />
Inilah pemilih warna saya ( bnv_tab_item_foreground.xml
):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/darker_gray" />
<item android:state_selected="true" android:color="@android:color/holo_blue_dark" />
</selector>
Dan sumber daya menu saya ( bottom_nav_bar_menu.xml
):
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_home"
android:icon="@drawable/ic_local_taxi_black_24dp"
android:title="@string/home" />
<item
android:id="@+id/action_rides"
android:icon="@drawable/ic_local_airport_black_24dp"
android:title="@string/rides"/>
<item
android:id="@+id/action_cafes"
android:icon="@drawable/ic_local_cafe_black_24dp"
android:title="@string/cafes"/>
<item
android:id="@+id/action_hotels"
android:icon="@drawable/ic_local_hotel_black_24dp"
android:title="@string/hotels"/>
</menu>
Saya sangat menghargai bantuan apa pun.