【问题标题】:Android Error inflating class android.support.design.widget.NavigationViewAndroid错误膨胀类android.support.design.widget.NavigationView
【发布时间】:2016-11-12 07:17:19
【问题描述】:

错误信息:

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 相同。但似乎我已经正确设置了。请帮我。

【问题讨论】:

  • 请编辑您的问题以提供完整的堆栈跟踪,并修复您的格式。
  • 在问题中发布您的styles.xml 文件..
  • @MikeM。对不起格式。我是 StackOverFlow 的新手。
  • @Ironman,我发布了我的 styles.xml。
  • @user3914955 您正在测试哪个设备,您能告诉我API version 之类的4.0 还是其他什么的......

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


【解决方案1】:

发生错误是因为从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。希望这会对你有所帮助..

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我这样修复它: 我对尺寸有疑问

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

      它是在导航视图中设置的

      app:headerLayout="@layout/nav_header_main"
      

      如果我将其更改为任何值,它都可以正常工作

      android:layout_height="56dp"
      

      【讨论】:

      • 或直接使用android:layout_height="?android:attr/actionBarSize"
      猜你喜欢
      • 2016-05-30
      • 2016-08-16
      • 2019-07-05
      • 2020-02-06
      • 1970-01-01
      • 2017-09-08
      • 2021-04-09
      相关资源
      最近更新 更多