Android 如果以编程方式更改片段,如何更改底部导航图标的颜色

Android 如果以编程方式更改片段,如何更改底部导航图标的颜色,android,android-fragments,colors,bottomnavigationview,Android,Android Fragments,Colors,Bottomnavigationview,我正在使用底部导航来更改片段。无论出于何种原因,如果用户点击某个特定按钮,我需要更改片段。这种方法效果很好,只是有一点美感问题。如果我以编程方式更改片段,底部导航图标的颜色将不会更改 为了处理颜色变化,我现在正在使用选择器XML,但我准备使用其他解决方案来处理这个小问题。请遵循此代码,它可能会帮助您bottomNavigationView.setSelectedItemId(R.id.navigation\u home) 此方法工作正常->哪种方法?:)您是在告诉BottomNavBar选择特定

我正在使用底部导航来更改片段。无论出于何种原因,如果用户点击某个特定按钮,我需要更改片段。这种方法效果很好,只是有一点美感问题。如果我以编程方式更改片段,底部导航图标的颜色将不会更改


为了处理颜色变化,我现在正在使用选择器XML,但我准备使用其他解决方案来处理这个小问题。

请遵循此代码,它可能会帮助您bottomNavigationView.setSelectedItemId(R.id.navigation\u home)

此方法工作正常
->哪种方法?:)您是在告诉BottomNavBar选择特定项目,还是手动执行碎片事务来替换内容?发布您的selector@Martin在那句话中,我指的是作为过程的方法。因此,如果我点击底部菜单,它基本上是工作的。问题是如果我以编程方式更改片段。如果我从片段中替换片段progmatically@Gabriele我的选择器工作得很好。如果我点击底部导航视图,它会改变颜色。请阅读我之前的评论。@csirkeautomata如果您不通知底部导航栏要更改片段,它将不会更改所选项目的状态。工具栏不关心内容是什么,它只知道放什么内容(因为您在XML中以声明方式定义它);它的工作方式与您的想法不同,如果您想要正确的行为,您必须告诉底部栏“选择”选项卡。此方法是否也会自动更改选定和取消选定图标的颜色?是的,它将更改选定和取消选定图标的颜色。