Java 底部导航Android-如何在每个当前片段位置设置通过编程检查的图标状态
例如,我有1个活动,其中2个片段名为片段A.1和片段A.2 首次启动活动时,默认情况下,它将立即显示片段A.1,Java 底部导航Android-如何在每个当前片段位置设置通过编程检查的图标状态,java,android,android-fragments,Java,Android,Android Fragments,例如,我有1个活动,其中2个片段名为片段A.1和片段A.2 首次启动活动时,默认情况下,它将立即显示片段A.1,BottomNavigation将图标片段A.1设置为活动状态。同样,如果单击BottomNavigation片段A.2,BottomNavigation也会将片段A.2图标设置为活动状态 但问题是,如果我的当前位置在片段A.2中,并且我按下后退按钮到片段A.1,则底部导航图标在片段A.2中保持活动状态,即使我的当前位置已经在片段A.1 我如何设置一个动态图标,活动将跟随我的位置 bo
BottomNavigation
将图标片段A.1设置为活动状态。同样,如果单击BottomNavigation
片段A.2,BottomNavigation
也会将片段A.2图标设置为活动状态
但问题是,如果我的当前位置在片段A.2中,并且我按下后退按钮到片段A.1,则底部导航图标在片段A.2中保持活动状态,即使我的当前位置已经在片段A.1
我如何设置一个动态图标,活动将跟随我的位置
bottomnavigation.xml
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/white"
app:itemIconTint="@drawable/bottom_navigation_item_colors"
app:itemTextColor="@drawable/bottom_navigation_text_colors"
app:labelVisibilityMode="labeled"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/container"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/navigation_bottom" />
这就是我如何做到这种行为:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="?android:attr/windowBackground"
android:visibility="gone"
app:itemIconTint="@drawable/bottom_navigation_colors"
app:itemTextColor="@drawable/bottom_navigation_colors"
app:itemBackground="@color/white"
app:labelVisibilityMode="labeled"
app:menu="@menu/bottom_navigation" />
bottom_navigation_colors.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_checked="true"
android:color="@color/dark_red" />
<item
android:state_checked="false"
android:color="@color/black" />
</selector>
所选片段显示图标和文本,颜色为红色其他颜色为黑色谢谢,先生,但我已经实现了这一行为,请查看我的代码应用程序:itemIconTint=“@drawable/bottom\u navigation\u item\u colors”
。真正的问题是当我说“但问题是如果我现在的位置……”
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_checked="true"
android:color="@color/dark_red" />
<item
android:state_checked="false"
android:color="@color/black" />
</selector>