在棒棒糖崩溃前使用android矢量Drawables
我在Lollipop之前在Android中使用矢量可绘制对象,这些是我的某些库和工具版本: Android Studio:2.0 Android Gradle插件:2.0.0 编译工具:23.0.2 Android支持库:23.3.0 我在应用程序级别添加了此属性 Build.Gradle android { defaultConfig { vectorDrawables.useSupportLibrary = true } } 还值得一提的是,我使用了一个额外的可绘制对象,例如Android官方博客(此处的链接)中所述的LayerDrawable(layer_list),用于为外部的矢量可绘制对象设置可绘制对象app:srcCompat <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/search"/> </level-list> 您会发现直接引用app:srcCompat之外的矢量可绘制对象将在Lollipop之前失败。但是,当在另一个可绘制容器(例如StateListDrawable,InsetDrawable,LayerDrawable,LevelListDrawable和RotateDrawable)中引用矢量可绘制对象时,AppCompat确实支持加载矢量可绘制对象。通过使用这种 间接方式,您可以在诸如TextView的android:drawableLeft属性之类的情况下使用矢量可绘制对象,该属性通常无法支持矢量可绘制对象。 当我使用时,app:srcCompat一切正常,但是当我使用时: android:background android:drawableLeft android:drawableRight android:drawableTop android:drawableBottom 上ImageView,ImageButton,TextView或EditText之前棒棒糖,它引发厚望: Caused by: android.content.res.Resources$NotFoundException: File res/drawable/search_toggle.xml from drawable resource ID #0x7f0200a9