Dodałem BottomNavigationView
w mojej aplikacji jak.Android: Widok z dołu nawigacji - zmiana ikony wybranego elementu
main.xml
<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/colorPrimary"
app:itemIconTint="@color/white"
app:itemTextColor="@color/white"
app:menu="@menu/bottom_navigation_main" />
bottom_navigation_main.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_favorites"
android:enabled="true"
android:icon="@drawable/ic_favorite_white_24dp"
android:title="@string/text_favorites"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_schedules"
android:enabled="true"
android:icon="@drawable/ic_access_time_white_24dp"
android:title="@string/text_schedules"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_music"
android:enabled="true"
android:icon="@drawable/ic_audiotrack_white_24dp"
android:title="@string/text_music"
app:showAsAction="ifRoom" />
</menu>
główną działalność kliknij
bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.action_favorites:
//need change icon of favotites here.
case R.id.action_schedules:
case R.id.action_music:
}
return true;
}
});
Chcę zmienić ikonę dolnej nawigacji wybranej pozycji. Jak możemy osiągnąć tę funkcję, gdy użytkownik kliknie jeden element?
(jeśli użytkownik kliknął jedną rzecz to zmiana ikony na inną)
Myślę, że byłoby użyteczne, aby wyraźnie dodać ten kawałek kodu, deklarując również "element". MenuItem item = menu.findItem (R.id.action_favorites); – larrytech
Spróbuję tego kodu to działa, ale kiedy klikam inną ikonę, to nie jest ustawiona domyślna ikona, taka jak wypełnij ikonę lub nie wypełniaj ikony –