在ImageView中设置Vector Drawable导致旧SDK中的应用程序崩溃

时间:2016-04-25 06:21:24

标签: android vector crash drawable android-appcompat

我在图像src中使用了Vector Drawable,如下所示:

 <ImageView
                android:id="@+id/isSold"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:visibility="gone"
                app:srcCompat="@drawable/ic_soldout_24px"
                tools:ignore="MissingPrefix"/>

我还将这些添加到了清单:

defaultConfig {
        vectorDrawables.useSupportLibrary=true
    }

我使用compile 'com.android.support:appcompat-v7:23.2.1'

但是我的应用程序在旧的sdk中崩溃,并显示Error inflating class ImageView

的消息

2 个答案:

答案 0 :(得分:14)

使用android.support.v7.widget.AppCompatImageView代替ImageView:

 <android.support.v7.widget.AppCompatImageView
    android:id="@+id/isSold"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center_vertical"
    android:visibility="gone"
    app:srcCompat="@drawable/ic_soldout_24px"
    tools:ignore="MissingPrefix"/>

答案 1 :(得分:1)

使用普通<ImageView> IF android.support.v7.app.AppCompatActivity提供顶级活动/对话框。

编写自定义视图时,您只需手动使用AppCompatImageView

这是来自docs。