Lollipopがクラッシュする前にAndroid Vector Drawableを使用する
私は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の前に失敗します。ただし、AppCompatは、StateListDrawable、InsetDrawable、LayerDrawable、LevelListDrawable、RotateDrawableなどの別のドローアブルコンテナーで参照されている場合、ベクタードローアブルの読み込みをサポートします。この 間接参照を使用することで、TextViewのandroid:drawableLeft属性など、通常はベクタードローアブルをサポートできない場合に、ベクタードローアブルを使用できます。 私が使用しapp:srcCompatているときはすべてうまくいきますが、使用したとき: android:background android:drawableLeft android:drawableRight android:drawableTop android:drawableBottom 上のImageView、ImageButton、TextViewまたはEditTextロリポップ前に、それはexpectionがスローされます。 Caused by: android.content.res.Resources$NotFoundException: File res/drawable/search_toggle.xml from drawable resource ID #0x7f0200a9