Ошибка при использовании любых элементов библиотеки поддержки дизайна 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 Manager все в курсе.
SDK Manager

5 ответов

Решение

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

Кажется, что компонентам библиотеки дизайна нужен стиль, основанный на теме 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

Обновите библиотеку поддержки в SDK Manager в меню "Дополнения"> "Репозиторий поддержки Android" и "Библиотека поддержки Android", которая работает для меня;)

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

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

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

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

Еще раз проверьте, правильно ли вы применили свою тему в файле AndroidManifest.xml. В моем случае я пропустил атрибут android:theme. Например:

<application ... android:theme="@style/Your.Theme.Here" ... >
Другие вопросы по тегам