BottomNavigationView - Android 工作室
BottomNavigationView - Android Studio
我使用图像作为图标,但我不希望它们在未被选中时看起来是灰色的。无论是否处于活动状态,它都应该看起来与图片相同。我该怎么办?
com.google.android.material.bottomnavigation.BottomNavigationView
谢谢
要实现它还有很长的路要走
mBottomNav.setItemIconTintList(null);
那就自己设计吧。不要忘记将按钮区分为已单击和未单击。
示例按钮 XML
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--Clicked-->
<item android:drawable="@drawable/homeclicked" android:state_checked="true" />
<!--Not Clicked-->
<item android:drawable="@drawable/homenotclicked" android:state_checked="false" />
</selector>
并将它们添加到视图中:示例 bottom_navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/homebuttons"
android:icon="@drawable/homebuttonxml />
<!--Other Buttons...-->
</menu>
最后,Link 查看 bottomnavigationview
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:labelVisibilityMode="unlabeled"
app:elevation="0dp"
app:menu="@menu/bottom_navigation">
</com.google.android.material.bottomnavigation.BottomNavigationView>
尝试在 BottomNavigationView 部分的 XML 文件中使用它
app:itemIconTint="null"
或者在定义 BottomNavigationView(使用 findViewById)
之后将其添加到您的 java 文件
//Replace BottomNavView with your nav bar id
BottomNavView.setItemIconTintList(null);
未选中项目使用的默认颜色基于 colorOnSurface
颜色。
只需使用:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:theme="@style/BottomNavigationViewThemeOverlay"
.... />
与:
<style name="BottomNavigationViewThemeOverlay">
<item name="colorOnSurface">@color/...</item>
</style>
否则您可以定义自定义选择器:
<com.google.android.material.bottomnavigation.BottomNavigationView
app:itemIconTint="@color/bottomnavicontint"
../>
与:
<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="@color/..."/>. <!-- not selected -->
</selector>
我使用图像作为图标,但我不希望它们在未被选中时看起来是灰色的。无论是否处于活动状态,它都应该看起来与图片相同。我该怎么办?
com.google.android.material.bottomnavigation.BottomNavigationView
谢谢
要实现它还有很长的路要走
mBottomNav.setItemIconTintList(null);
那就自己设计吧。不要忘记将按钮区分为已单击和未单击。
示例按钮 XML
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--Clicked-->
<item android:drawable="@drawable/homeclicked" android:state_checked="true" />
<!--Not Clicked-->
<item android:drawable="@drawable/homenotclicked" android:state_checked="false" />
</selector>
并将它们添加到视图中:示例 bottom_navigation.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/homebuttons"
android:icon="@drawable/homebuttonxml />
<!--Other Buttons...-->
</menu>
最后,Link 查看 bottomnavigationview
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:labelVisibilityMode="unlabeled"
app:elevation="0dp"
app:menu="@menu/bottom_navigation">
</com.google.android.material.bottomnavigation.BottomNavigationView>
尝试在 BottomNavigationView 部分的 XML 文件中使用它
app:itemIconTint="null"
或者在定义 BottomNavigationView(使用 findViewById)
之后将其添加到您的 java 文件//Replace BottomNavView with your nav bar id
BottomNavView.setItemIconTintList(null);
未选中项目使用的默认颜色基于 colorOnSurface
颜色。
只需使用:
<com.google.android.material.bottomnavigation.BottomNavigationView
android:theme="@style/BottomNavigationViewThemeOverlay"
.... />
与:
<style name="BottomNavigationViewThemeOverlay">
<item name="colorOnSurface">@color/...</item>
</style>
否则您可以定义自定义选择器:
<com.google.android.material.bottomnavigation.BottomNavigationView
app:itemIconTint="@color/bottomnavicontint"
../>
与:
<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="@color/..."/>. <!-- not selected -->
</selector>