Ошибка при использовании любых элементов библиотеки поддержки дизайна Android

Ошибка раздувания чего-либо из библиотеки поддержки дизайна

XML

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

build.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'

проект build.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 все в курсе. SDK Manager

Ответ 1

В дополнение к ответу Emmanuel вы можете столкнуться со следующей проблемой.

Похоже, что компонентам библиотеки дизайна нужен стиль, основанный на теме AppCompat. Поэтому попробуйте использовать "Theme.AppCompat. [...]" в качестве родителя в вашем файле style.xml.

Пример:

<!-- 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

Ответ 2

Обновление библиотеки поддержки в SDK-менеджере в разделе "Дополнительно" > "Поддержка Android-репозитория и поддержка Android", которая работает для меня;)

и не забудьте добавить компиляцию 'com.android.support:design:22.2.0' на app.gradle и sync

Ответ 3

В моем случае такая же ошибка при использовании 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"/>

Ответ 4

Помните, что даже если вы используете виджет FloatingActionButton, который находится в библиотеке поддержки дизайна, вам все равно придется использовать srcCompat для ссылки на ваш значок, если вы хотите, чтобы FAB работал на более старых устройствах.

<android.support.design.widget.FloatingActionButton
    app:srcCompat="@drawable/ic_keyboard_arrow_right_black_24dp"
    ... />

Ответ 5

Одна вещь, которую нужно проверить, - это то, что вы правильно применили свою тему в файле AndroidManifest.xml. В моем случае я опустил атрибут android: theme. Например:

<application ... android:theme="@style/Your.Theme.Here" ... >