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