android - 膨胀异常 : Error inflating class ImageView for VectorDrawableCompat

标签 android android-vectordrawable

VectorDrawableCompat 终于进入了 SDK 23 的支持库。但它似乎不起作用,或者我可能遗漏了什么。

drawable/mypic.xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="64dp"
android:width="64dp"
android:viewportHeight="600"
android:viewportWidth="600" >
<group
    android:name="rotationGroup"
    android:pivotX="300.0"
    android:pivotY="300.0"
    android:rotation="45.0" >
    <path
        android:name="v"
        android:fillColor="#000000"
        android:pathData="M300,70 l 0,-70 70,70 0,0 -70,70z" />
</group>
</vector>

fragment_bla.xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@drawable/mypic"
    android:scaleType="centerCrop" />

</FrameLayout>

此代码适用于 Lollipop,但不适用于 KitKat。我错过了什么?


异常(exception):

09-06 14:26:53.637  31820-31820/com.bla E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.bla, PID: 31560
android.view.InflateException: Binary XML file line #7: Error inflating class android.widget.ImageView
        at android.view.LayoutInflater.createView(LayoutInflater.java:623)
        at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
        at android.view.LayoutInflater.onCreateView(LayoutInflater.java:672)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
        at com.hohero.fragment.Intro1Fragment.onCreateView(Intro1Fragment.java:14)
        at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)

最佳答案

我认为问题是 android:src="@drawable/mypic" 在您的 imageView 设置中。

将其更改为 app:srcCompat="@drawable/mypic"

那么你应该可以开始了。

更多详情请引用: https://medium.com/@chrisbanes/appcompat-v23-2-age-of-the-vectors-91cbafa87c88#.mvuq06x1k

关于android - 膨胀异常 : Error inflating class ImageView for VectorDrawableCompat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32420669/

相关文章:

android - 是否可以检测到 Android 应用程序卸载?

android - 矢量绘图有时会变得模糊

android - 如何使用 VectorDrawable 作为 ProgressBar

java - 找不到 Dagger 2 的符号类 "Generated"

android - Android中无法启动Activity组件信息和Java空指针异常

java - 如何从 Activity A 到 Activity B 显示seekBar值和选定的微调项目?

android - 谷歌距离矩阵网络服务限制

Android Studio 不会导入 SVG Vector 的所有部分

android - 以编程方式将边框/描边设置为矢量可绘制对象

android - 将 Android 矢量绘图转换为启动器图标 PNG