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"
错误信息:
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"