33

对设计支持库中的任何内容进行膨胀时出错

xml

<android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

构建.gradle

dependencies {
    compile 'com.android.support:support-v4:22.2.0'
    compile 'com.android.support:design:22.2.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:support-v13:22.2.0'
    compile 'com.android.support:appcompat-v7:22.2.0'

项目构建.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

错误:

Binary XML file line #115: Error inflating class
android.support.design.widget.FloatingActionButton

我的 SDK Manager 一切都是最新的。
SDK 管理器

4

5 回答 5

27

除了 Emmanuel 的回答之外,您还可能面临以下问题。

似乎设计库组件需要一种基于 AppCompat 主题的样式。因此,请尝试在 style.xml 中使用“Theme.AppCompat.[...]”作为父级。

例子:

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.AppTheme">
    <!-- Customize your theme here. -->
</style>

<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <item name="android:colorAccent">@color/accent</item>
</style>

然后将以下内容也添加到您的 build.gradle 中:

compile 'com.android.support:appcompat-v7:22.2.0'

此外,您还应该更新 gradle 中的以下行:

classpath 'com.android.tools.build:gradle:1.2.3'
compileSdkVersion 22
buildToolsVersion '22.0.1'
targetSdkVersion 22
于 2015-05-31T13:27:25.160 回答
11

在 Extras > Android Support Repository 和 Android Support Library 中更新 SDK Manager 上的支持库,这对我有用;)

并且不要忘记在 app.gradle 上添加 compile 'com.android.support:design:22.2.0' 并同步

于 2015-05-30T15:24:38.353 回答
5

在我的情况下,使用android.support.design.widget.NavigationView时的相同崩溃是通过将app:itemTextColor属性添加到布局 xml 来解决的:

    <android.support.design.widget.NavigationView
        android:id="@+id/navigation"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header"
        app:itemTextColor="?android:textColorPrimary"
        app:menu="@menu/drawer"/>
于 2015-06-04T19:45:45.090 回答
3

请注意,即使您使用的是设计支持库中的小部件,如果您希望 FAB 在旧设备上工作FloatingActionButton,您仍然必须使用来引用您的图标。srcCompat

<android.support.design.widget.FloatingActionButton
    app:srcCompat="@drawable/ic_keyboard_arrow_right_black_24dp"
    ... />
于 2016-06-06T19:03:54.403 回答
0

需要仔细检查的一件事是您已在 AndroidManifest.xml 文件中正确应用了主题。就我而言,我省略了 android:theme 属性。例如:

<application ... android:theme="@style/Your.Theme.Here" ... >
于 2016-04-19T12:53:21.477 回答