Не удалось создать экземпляр плавающей кнопки действия / Ошибка надувания
Я рвал на себе волосы; это работало очень хорошо (ну.. почти, не плавало правильно), а затем внезапно прекратилось вскоре после того, как я добавил android:backgroundTint="@color/fab"
как минимум SDK составляет 19.
Чтобы попытаться это исправить, у меня есть:
- Обновленный Android Studio / SDK
- Недействительные кеши / перезапуск
- Восстановленный проект
- подтвердил
targetSdkVersion 23
- подтвердил
compile 'com.android.support:design:23.1.1'
- подтвердил
classpath 'com.android.tools.build:gradle:1.5.0'
- подтвердил
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
До 5 утра, извините, если это очевидно, но я не знаю, что еще попробовать. XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/com.whereintheworld.com"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tracking_task_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:clickable="true"
android:src="@drawable/fab_ic_add"
android:backgroundTint="@color/fab"
app:layout_anchor="@id/tracking_task_list"
app:layout_anchorGravity="bottom|right|end" />
</android.support.design.widget.CoordinatorLayout>
</RelativeLayout>
1 ответ
Решение
com.android.support:appcompat-v7:21+
добавлена поддержка тонирования виджетов на устройствах с предустановленным android 5.1 (API Level 21)
, Чтобы использовать его, убедитесь, что вы расширяете или устанавливаете тему AppCompat и используете app:backgroundTint
вместо android:backgroundTint
,
Пример:
<android.support.design.widget.FloatingActionButton
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:src="@drawable/icon"
app:backgroundTint="@color/accent"
app:borderWidth="0dp" />