当前位置: 首页 > 知识库问答 >
问题:

BottomNavigationBar-更改选项卡图标颜色

苏坚成
2023-03-14

我已经在我的应用程序上集成了底部栏导航栏。但是当我刷的时候,Tab的颜色不会改变。很奇怪因为我有选择器文件。有什么解决这个问题的主意吗?

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;
                }


            });
<?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>
<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" />

共有1个答案

凤经武
2023-03-14

更改为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>
 类似资料:
  • 我正在使用带有的,我想知道如何最有效地更改TabLayout中选定选项卡的图标的颜色。 谷歌的Youtube应用程序是如何实现这一点的完美参考。在主页上,有四个深灰色图标。选择特定选项卡后,选项卡图标变为白色。 没有任何第三方库,我怎样才能达到同样的效果? 一个可能的解决方案显然是用选择器。但是在这种情况下,我必须找到图标的白色和灰色版本,然后在选项卡被选中或取消选中时切换图标。我想知道是否有一个

  • 如何更改选项卡栏未选中图标和文本的颜色?我找到了这个答案(如何更改选项卡栏上的非活动图标/文本颜色?),但不能为斯威夫特实施。

  • 我创建了一个包含单个项目的菜单。 这是我在工具栏中的一些活动中使用的,单击时它会下拉一个菜单,目前只有一个选项,但将来可能会更多。 除了图标外,一切都很好,它是传统3点白色的矢量图像。根据showAsAction在更改颜色时的设置。 目前show AsAction设置为从不,因此单击时会显示一个菜单,这就是我想要的,但是图标变为深灰色。如果我将此选项设置为“始终”,则图标变为白色,但我丢失了下拉菜

  • 使用JavaFX2.2,我有一个窗口,它主要由一个有4个选项卡的TabPane组成。用户可以更改任何选项卡中显示的数据,如果他们这样做了,我希望确保他们在保存/取消/更新数据之前不会更改该选项卡。特别是,我想确保他们不会选择不同的标签。如果他们试图退出或执行某个菜单项,我可以捕捉到,但我似乎找不到中断选项卡更改的方法。我可以捕捉到他们点击了一个新的选项卡(onSelectionChanged),并

  • 我正在尝试更改选定选项卡的突出显示颜色。标准似乎是蓝色的,它不是,因为它在蓝色高亮的顶部添加了一个边框。我想知道是什么属性改变了这个颜色。参见下图:

  • 我添加到产品的愿望列表中。(django项目)如果用户将一个产品添加到这个列表中,就点击一个心形图标。如果用户已经将此产品添加到列表中,则心图标为红色,如果此产品不在用户收藏夹列表中,则心图标为白色。每次移除或将图标添加到列表中时,我都想更改图标的颜色。在我写的代码中,这个操作只做一次,如果它同时再次点击,颜色不会有任何变化。