在 ImageView 中设置 Vector Drawable 导致应用程序在旧 SDK 中崩溃
Set Vector Drawable in ImageView cause app crash in old SDK
我在图像 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
使用 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"/>
使用普通<ImageView>
,IF顶级activity/dialog由android.support.v7.app.AppCompatActivity
提供。
您应该只需要在编写自定义视图时手动使用 AppCompatImageView
。
这是来自文档。
我在图像 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
使用 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"/>
使用普通<ImageView>
,IF顶级activity/dialog由android.support.v7.app.AppCompatActivity
提供。
您应该只需要在编写自定义视图时手动使用 AppCompatImageView
。
这是来自文档。