首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BottomNavigationView - Android

BottomNavigationView - Android
EN

Stack Overflow用户
提问于 2021-03-03 13:13:45
回答 3查看 270关注 0票数 0

我已经使用图像作为图标,但我不希望他们看起来灰色的时候,他们没有被选中。它应该看上去和图片一样,不管它是否活动。我该怎么办?

代码语言:javascript
复制
com.google.android.material.bottomnavigation.BottomNavigationView

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-03 13:39:40

尝试在BottomNavigationView部件的XML文件中使用此方法。

代码语言:javascript
复制
app:itemIconTint="null"

或者将其添加到您的java文件中,在定义BottomNavigationView之后(使用findViewById)

代码语言:javascript
复制
//Replace BottomNavView with your nav bar id
BottomNavView.setItemIconTintList(null);
票数 0
EN

Stack Overflow用户

发布于 2021-03-03 13:22:53

要达到这个目标还有很长的路要走

代码语言:javascript
复制
mBottomNav.setItemIconTintList(null);

那你自己来设计吧。别忘了把按钮按点击和不点击分开。

示例Button XML

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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>

最后,将视图链接到底部导航视图。

代码语言:javascript
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 2021-03-03 14:38:02

未选定项使用的默认颜色是基于colorOnSurface颜色的。

只需使用:

代码语言:javascript
复制
<com.google.android.material.bottomnavigation.BottomNavigationView
     android:theme="@style/BottomNavigationViewThemeOverlay"
     ....  />

通过以下方式:

代码语言:javascript
复制
<style name="BottomNavigationViewThemeOverlay">
    <item name="colorOnSurface">@color/...</item>
</style>

否则,可以定义自定义选择器:

代码语言:javascript
复制
  <com.google.android.material.bottomnavigation.BottomNavigationView
           app:itemIconTint="@color/bottomnavicontint"
           ../>

通过以下方式:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66457818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档