在FragmentTransaction事务之后设置Bottom Navigation View的图标颜色
在Android Studio中,如果您使用Bottom Navigation View和Fragment来实现导航栏,当您在Fragment中更改导航栏图标的颜色时,您可能会遇到这个问题:导航栏图标颜色不会在onClick Fragment Transaction之后更改。
要解决这个问题,您可以在FragmentTransaction之后手动设置Bottom Navigation View的图标颜色。以下是一个代码示例:
//获取Bottom Navigation View
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation_view);
//设置导航菜单项的默认颜色
bottomNavigationView.setItemIconTintList(null);
//在FragmentTransaction之后设置导航菜单项的选中颜色
Fragment fragment = new MyFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, fragment);
transaction.commit();
bottomNavigationView.getMenu().getItem(0).setIcon(R.drawable.ic_home_selected);
bottomNavigationView.getMenu().getItem(1).setIcon(R.drawable.ic_profile_not_selected);
以上代码示例假设您有一个包含id为R.id.fragment_container的空Fragment容器,其中包含两个Bottom Navigation View菜单项:首页和个人资料。当您从Fragment中的“个人资料”菜单项中返回到“主页”菜单项时,将以反转的颜色设置主页菜单项的图标,以表明当前菜单项已选择。
希望这可以帮助您解决Android Studio onClick Fragment Transaction不更改Bottom Navigation Menu Icon Color的问题。