<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS85N2R2Ri5wbmcifQ==” alt =“在此处输入图像描述”>我在项目中使用底部导航视图。在下面的波纹管中,我有4个图标,当它们被选中时它们变成绿色并得到一个标高。我怀疑颜色变化来自应用程序的原色,但我想摆脱高度变化。我正在使用BottomNavigation项目,因此Activity和XML中的所有代码都是底部导航的基本代码。
关于所选图标的位置,取决于标签。它可能为空,在任何情况下都可以在labelVisibilityMode
中使用BottomNavigationView
属性:
<com.google.android.material.bottomnavigation.BottomNavigationView
app:labelVisibilityMode="unlabeled"
..>
带有4个图标的默认值为selected
:标签显示在所选导航项目上。
关于颜色,您可以使用itemIconTint
属性。它是默认选择器:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="1.0" android:color="?attr/colorPrimary" android:state_checked="true"/>
<item android:alpha="0.6" android:color="?attr/colorOnSurface"/>
</selector>
您可以使用自定义选择器
<com.google.android.material.bottomnavigation.BottomNavigationView
app:labelVisibilityMode="unlabeled"
itemIconTint="@color/my_selector"
..>
或仅覆盖BottomNavigationView
中的默认颜色:
<com.google.android.material.bottomnavigation.BottomNavigationView
app:labelVisibilityMode="unlabeled"
android:theme="@style/ThemeOverlay.BottomNavView"
..>
with:
<style name="ThemeOverlay.BottomNavView" parent="">
<item name="colorPrimary">@color/colorAccent</item>
<item name="colorOnSurface">@color/primaryDarkColor</item>
</style>