ImageView vector drawable导致5.0.1版本上的应用程序崩溃

时间:2016-05-20 10:29:24

标签: android xml vector

我在xml中为ImageView加载一个vector drawable。该应用程序仅崩溃运行API版本21的设备。

这是堆栈跟踪:

05-20 12:03:08.800 592-592/archub.lima.co.za.archub E/PathParser: error in parsing "c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22" 05-20 12:03:08.807 592-592/archub.lima.co.za.archub D/AndroidRuntime: Shutting down VM 05-20 12:03:09.055 592-592/archub.lima.co.za.archub E/AndroidRuntime: FATAL EXCEPTION: main
                                                                  Process: archub.lima.co.za.archub, PID: 592
                                                                  android.view.InflateException: Binary XML file line #28: Error inflating class ImageView
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806                                                                        at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at archub.lima.co.za.archub.FarmsFragment.onCreateView(FarmsFragment.java:220)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1177)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1025)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545)
at android.view.View.measure(View.java:17448)
                                                                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
                                                                      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
                                                                      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
                                                                      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
                                                                      at android.view.View.measure(View.java:17448)
                                                                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
                                                                      at android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:668)
                                                                      at android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:735)
                                                                      at android.view.View.measure(View.java:17448)
                                                                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
                                                                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
                                                                      at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
                                                                      at android.view.View.measure(View.java:17448)
                                                                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
                                                                      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
                                                                      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
                                                                      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
                                                                      at android.view.View.measure(View.java:17448)
                                                                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
                                                                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
                                                                      at android.view.View.measure(View.java:17448)
                                                                      at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
                                                                      at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436)
                                                                      at android.widget.LinearLayout.measureVertical(LinearLayout.java:722)
                                                                      at android.widget.LinearLayout.onMeasure(LinearLayout.java:613)
                                                                      at android.view.View.measure(View.java:17448)                                                                     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5465)
                                                                      at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
                                                                      at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2560)
                                                                      at android.view.View.measure(View.java:17448)
                                                                      at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2031)
                                                                      at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1189)
                                                                      at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1402)
                                                                      at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1077)
                                                                    at android.view.ViewRootImpl$TraversalRunnable

这是创建错误的ImageView。我发现这里没有错。我已经附上了下面的完整布局文件。

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_marginLeft="10dp"
    android:src="@drawable/ic_account_circle"
    android:contentDescription="@string/farm_icon" />

FarmFragment类 - FarmFragement.java和FarmFragment布局 - content_farms

2 个答案:

答案 0 :(得分:0)

要解决这个问题,我必须使用Android Studio导入矢量drawable而不是创建矢量drawable并添加SVG数据。

&#34;因此推荐的方法是在Android Studio中完成SVG到XML的转换。&#34;

以下是issue

的链接

答案 1 :(得分:0)

尝试使用app:srcCompat

**

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_marginLeft="10dp"
    app:srcCompat ="@drawable/ic_account_circle"
    android:contentDescription="@string/farm_icon" />

**

相关问题