找不到文件res / drawable / abc_ic_ab_back_material.xml

时间:2016-08-04 18:27:28

标签: android android-support-library

我在API Level 19(Kit Kat)上的应用程序出错了。我实现了android支持库24.0.0并启动了我的活动并得到以下错误:

Exception while inflating <vector>
org.xmlpull.v1.XmlPullParserException: Binary XML file line #17<vector> tag requires viewportWidth > 0

在堆栈跟踪中进一步向下有类似

的东西
java.lang.RuntimeException: Unable to start activity ComponentInfo{ironicdev.android.openleaf/ironicdev.android.openleaf.ui.activity.MainActivity}: android.view.InflateException: Binary XML file line #17: Error inflating class android.support.v7.widget.Toolbar

然后

Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016

(我不想发布完整的堆栈跟踪)。

我在google上找到了一些解决方案,比如设置&#34; vectorDrawables.useSupportLibrary = true&#34;在我的gradle文件中。但它没有任何帮助。我选择&#34;清洁项目&#34;在菜单栏中,但没有。

我还删除了所有的矢量xml文件,并将其替换为png文件。但错误仍然存​​在。

如果我从API 21及更高版本开始,一切都很好。

我现在该怎么办?

编辑:这是我的MainActivty的xml代码(抛出错误的地方)

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>

content_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".ui.activity.MainActivity"
    tools:showIn="@layout/app_bar_main">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <include layout="@layout/extended_app_bar_main" />

        <include layout="@layout/content_dashboard_diagram" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="12dp"
            android:text="@string/tv_newest_entries" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/rv_newest_entries"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</android.support.v4.widget.NestedScrollView>

extended_app_bar_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_below="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:padding="16dp"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:background="@color/colorPrimary"
    app:layout_scrollFlags="scroll|enterAlways">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/tv_simple_search"
        android:textColor="@color/colorFontInverted"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1"
        android:visibility="gone"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:orientation="horizontal">

        <EditText
            android:id="@+id/et_simple_search"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textColorHint="@android:color/white"
            android:textColor="@color/colorFontInverted"
            android:hint="@string/hint_simple_search" />

        <ImageButton
            android:id="@+id/btn_simple_search"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:background="@android:color/transparent"
            android:src="@drawable/ic_magnify_white_24dp" />
    </LinearLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        style="@style/Widget.AppCompat.Button.Colored"
        android:theme="@style/Accent.Button"
        android:text="@string/btn_advanced_search"/>
</LinearLayout>

content_dashboard_diagram.xml

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="220dp"
    android:orientation="vertical">

    <com.github.mikephil.charting.charts.PieChart
        android:layout_margin="12dp"
        android:id="@+id/pie_categories"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

几天前我也遇到过这个问题。

确保所有活动主题都从Theme.AppCompat扩展,并且应该修复

我在官方跟踪器上创建了一个解决问题的问题:https://code.google.com/p/android/issues/detail?id=219724