android - BottomNavigationView 菜单中的矢量可绘制对象导致错误
问题描述
我正在尝试使用矢量可绘制对象作为 BottomNavigationView 的图标,如下所示:
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_incoming"
android:icon="@drawable/incoming_background"
android:title="Incoming"/>
<item
android:id="@+id/navigation_outgoing"
android:icon="@drawable/outgoing_background"
android:title="Outgoing"/>
<item
android:id="@+id/navigation_important"
android:icon="@drawable/favorite_background"
android:title="Favourite"/>
<item
android:id="@+id/navigation_settings"
android:icon="@drawable/settings_background"
android:title="Settings"/>
</menu>
我的drawables就像:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/ic_incoming_active"/>
<item android:drawable="@drawable/ic_incoming_inactive"/>
</selector>
@drawable/ic_incoming_active
并且@drawable/ic_incoming_inactive
都是矢量可绘制对象。
我也在使用 vectorDrawables.useSupportLibrary = true
和
implementation "com.android.support:support-vector-drawable:27.1.1"
但我越来越
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_incoming_active.xml from drawable resource
解决方案
该错误意味着ic_incoming_active.xml
无法找到可绘制对象。
在大多数情况下,原因是您将此可绘制对象存储在一个文件夹drawable-v21
中,而不是res/drawable
.
推荐阅读
- excel - 另一个工作簿中的宏在 Office 更新后停止工作
- permissions - 在启动时使用 NTFS-3G 挂载 NTFS 分区,并使其在用户界面(文件、Nemo 等)中显示(并可访问)
- hadoop - 在 hive 表的顶部添加一些行
- hive - 如何从具有相似命名模式的多个 Hive 表中查询数据?
- angular - 打字稿中的异步等待
- css-selectors - 如何在 Gatling 检查中使用 CSS 选择器提取元标记内容?
- vba - 当天在 Dateadd 上的 MS Access VBA
- javascript - 如何在 Material UI 中实现 Context Api
- android - 协程:完成工作后无法返回值
- c++ - C++:如何将 32 位数据转换为有符号整数