【问题标题】:BottomNavigationView bottom background is not set to itemBackground correctlyBottomNavigationView 底部背景未正确设置为 itemBackground
【发布时间】:2020-05-01 15:43:04
【问题描述】:

我创建了一个带有 4 个菜单的 BottomNavigationView。不知何故,它没有设置背景颜色来覆盖文本和图标。看截图,文字和图片依然是白色背景

<style name="BottomNavigationView" parent="">
    <item name="labelVisibilityMode">labeled</item>
    <item name="itemHorizontalTranslationEnabled">false</item>
    <item name="itemBackground">@android:color/holo_green_light</item>
    <item name="itemTextColor">@drawable/selector_bottom_bar_text</item>
    <item name="itemIconTint">@drawable/selector_bottom_bar_icon</item>
    <item name="itemTextAppearanceActive">@style/navTextActive</item>
    <item name="itemTextAppearanceInactive">@style/navTextInactive</item>
</style>


<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottomNav"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    style="@style/BottomNavigationView"

    app:menu="@menu/bottom_nav" />

  1. 如何修复文字和图标背景?
  2. 如何在图标和文字之间加一点空格?

【问题讨论】:

  • 间距问题已解决。你能帮我修一下背景吗
  • 从您的主题中移除android:background。所有没有背景的东西(大多数东西,这里是图标和标签视图)都将使用该值。这是你不想在主题中出现的东西。在单个视图或视图样式中设置android:backgroundDon't mix themes and styles.
  • 谢谢。有效。我在主题中设置背景颜色。这就造成了这个。从主题中删除背景后,它可以正常工作

标签: android android-layout material-design


【解决方案1】:
    android:background="?android:attr/windowBackground"
    app:itemIconTint="@drawable/bg_navigation"
    app:itemTextColor="@drawable/bg_navigation"

然后创建bg_navigation.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:color="hex_color_code" />
    <item android:state_checked="true" android:color="hex_color_code" />
</selector>

对于间距问题,您可以查看this 答案。

【讨论】:

    【解决方案2】:

    我不确定这是否可行。但是,您可以尝试将其添加到您的 Activity.java 文件中,看看它是否有效。 navigationView.setItemIconTintList(null); navigationView.setBackgroundTintList(null);

    【讨论】:

      【解决方案3】:

      感谢@Eugen Pechanec。有效。我在主题中设置背景颜色。这就造成了这个。从主题中删除背景后,它可以正常工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-09
        • 1970-01-01
        • 2016-01-06
        • 2014-08-09
        相关资源
        最近更新 更多