【问题标题】:Res not found in BottomNavigationView (AndroidX)在 BottomNavigationView (AndroidX) 中找不到资源
【发布时间】:2018-12-04 14:29:46
【问题描述】:

我试图将我的代码迁移到 AndroidX。但是新的BottomNavigationView 没有正确初始化。我在布局膨胀期间收到以下异常。

原因:android.content.res.Resources$NotFoundException:资源 ID #0x0 在 android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:216) 在 android.content.res.Resources.getColorStateList(Resources.java:1043) 在 android.content.Context.getColorStateList(Context.java:642)

E/AndroidRuntime: 在 androidx.appcompat.content.res.AppCompatResources.getColorStateList(AppCompatResources.java:67) 在 com.google.android.material.bottomnavigation.BottomNavigationMenuView.createDefaultColorStateList(BottomNavigationMenuView.java:467) 在 com.google.android.material.bottomnavigation.BottomNavigationMenuView.(BottomNavigationMenuView.java:101) 在 com.google.android.material.bottomnavigation.BottomNavigationMenuView.(BottomNavigationMenuView.java:86) 在 com.google.android.material.bottomnavigation.BottomNavigationView.(BottomNavigationView.java:123) 在 com.google.android.material.bottomnavigation.BottomNavigationView.(BottomNavigationView.java:114)2018-12-04 19:37:28.699 4450-4450/com.myapp

我的 xml 看起来像这样

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/white"
    app:itemHorizontalTranslationEnabled="false"
    app:itemIconTint="@color/home_bottom_nav_menu_item_color"
    app:itemTextColor="@color/home_bottom_nav_menu_item_color"
    app:layout_constraintBottom_toBottomOf="parent"
    app:menu="@menu/home_bottom_nav_menu" />

BottomNavigationView 库中是否有一些我缺少的变化?

【问题讨论】:

    标签: android kotlin bottomnavigationview android-jetpack androidx


    【解决方案1】:

    没有足够的声誉来评论 Rishabh876 的回答。 但是根据他的解决方案和他提供的链接,我设法通过将原始颜色转换为 colors.xml 来解决我的问题。

    代替

    <item name="android:textColorSecondary">#111111</item>
    

    使用

    <item name="android:textColorSecondary">@color/black1</item>
    

    添加colors.xml:

    <color name="black1">#111111</color>
    

    【讨论】:

      【解决方案2】:

      好的,我找到了解决方案here

      基本上我有

      <item name="android:textColorSecondary">#000</item>
      

      在我的活动主题中定义。

      材质组件不喜欢单一颜色。颜色状态列表会起作用。

      【讨论】:

        猜你喜欢
        • 2020-01-09
        • 1970-01-01
        • 2020-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-27
        • 1970-01-01
        • 2015-01-28
        相关资源
        最近更新 更多