Не удалось создать экземпляр плавающей кнопки действия / Ошибка надувания

Я рвал на себе волосы; это работало очень хорошо (ну.. почти, не плавало правильно), а затем внезапно прекратилось вскоре после того, как я добавил 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" />
Другие вопросы по тегам