Android 充气错误 class android.support.design.widget.NavigationView

Android Error inflating class android.support.design.widget.NavigationView

错误信息:

android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)

xml 文件:

<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" />

build.gradle:

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"

        defaultConfig {
            applicationId "edu.zhanglrose_hulman.bigbelly"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.1.1'
        compile 'com.android.support:design:23.1.1'
        compile 'com.android.support:recyclerview-v7:23.1.1'
        compile 'com.android.support:cardview-v7:23.1.1'
        compile 'com.google.android.gms:play-services:9.2.0'
    }

styles.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

我到处搜索,找不到我的问题的答案。我找到的大部分答案是在 build.gradle 保持设计和应用程序兼容性相同。但似乎我已经正确设置了。请帮我。

错误发生是因为当从 Android Studio 创建新项目时。所有基本的东西都已设置。有一个名为 drawable-v21 的可绘制文件夹,用于存储图标 xml 文件,例如

ic_menu_send.xml

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportHeight="24.0"
    android:viewportWidth="24.0">
    <path
        android:fillColor="#FF000000"
        android:pathData="M2.01,21L23,12 2.01,3 2,10l15,2 -15,2z" />
</vector> 

所以当您从 below Api 21 进行测试时,您已将 ic_menu_send.png 文件放入 drawable 文件夹以支持以下 Api 21。希望对你有帮助..

您可以添加值文件夹 drawables.xml 并添加:

<resources xmlns:android="http://schemas.android.com/apk/res/android">
<item name="ic_menu_send" type="drawable">@android:drawable/ic_menu_send</item>
</resources>

我是这样修复的: 我对 dimen 有疑问

<dimen name="nav_header_height">?attr/actionBarSize</dimen>

它是在

中的导航视图中设置的
app:headerLayout="@layout/nav_header_main"

如果我将其更改为任何值,效果都很好

android:layout_height="56dp"