我正在尝试使用矢量可绘制对象作为底部导航视图的图标,如下所示:
<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>
我的可绘制对象是这样的:
<?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
中。