アプリにボトムバーナビゲーションバーを統合しました。しかし、スワイプしてもタブの色は変わりません。セレクタファイルがあるのは奇妙な原因です。この問題を解決するアイデアはありますか?
Activity.Java
BottomNavigationView bottomNavigationView = (BottomNavigationView)
findViewById(R.id.bottom_navigation);
bottomNavigationView.setOnNavigationItemSelectedListener(
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.bb_menu_arac:
fragment = new AraclarimFragment();
break;
case R.id.bb_menu_yaklasan:
fragment = new YaklasanlarFragment();
break;
case R.id.bb_menu_yakin:
fragment = new Yakinimdakiler();
break;
}
final FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.main_container, fragment).commit();
return true;
}
});
selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:color="@color/beyaz" Android:state_enabled="true" />
<item Android:color="@color/colorPrimaryDark" Android:state_enabled="false" />
</selector>
activiy.xml
<Android.support.design.widget.BottomNavigationView
Android:id="@+id/bottom_navigation"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom|end"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@color/beyaz"
app:itemTextColor="@color/beyaz"
app:menu="@menu/bottombar_menu" />
への変更 app:itemIconTint="@drawable/selector"
また、selector.xml
これに:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_checked="true" Android:color="@color/beyaz" />
<item Android:color="@color/colorPrimaryDark" />
</selector>
BottomNavigationViewのitemIconTintとしてセレクターを設定する必要があります。何かのようなもの
<Android.support.design.widget.BottomNavigationView
Android:id="@+id/bottom_navigation"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom|end"
app:itemBackground="@color/colorPrimary"
app:itemIconTint="@drawable/selector"
app:itemTextColor="@color/beyaz"
app:menu="@menu/bottombar_menu" />
これをBottomNavigationView
Android:theme="@style/Base.ThemeOverlay.AppCompat.Dark.ActionBar"
に追加する必要があります。これはアイコンの色を変更するのに役立ちます。