Android错误膨胀类android.support.design.widget.NavigationView

时间:2016-07-10 03:42:03

标签: android xml styles android-navigation-drawer inflate-exception

错误消息:

  

android.view.InflateException:二进制XML文件行#16:二进制XML   文件行#16:错误类膨胀   android.support.design.widget.NavigationView                                                                                       在   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中保持设计和appcompat相同。但似乎我已经正确设置了。请帮我。

3 个答案:

答案 0 :(得分:6)

错误Occure,因为从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以下。希望这会对你有帮助..

答案 1 :(得分:0)

您可以添加值文件夹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>

答案 2 :(得分:0)

我将其固定为: 我的dimen有问题

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

它是在导航视图中设置的

app:headerLayout="@layout/nav_header_main"

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

android:layout_height="56dp"