Ошибка раздувания класса android.support.design.widget.FloatingActionButton

Мое приложение разбилось, потому что

Ошибка раздувания класса android.support.design.widget.FloatingActionButton

Это мой код в XML

<android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:src="@drawable/icon_right"
        app:backgroundTint="@color/green"
        android:onClick="previewphoto"
        app:layout_anchorGravity="bottom|right|end" />

и вот мой gradle

compile 'com.android.support:appcompat-v7:23.4.0' // appcompat library
compile 'com.android.support:design:23.4.0'

мой logcat

FATAL EXCEPTION: main Процесс: com.cyanlabsid.cetakphoto, PID: 15298 java.lang.RuntimeException: невозможно запустить активность ComponentInfo {com.cyanlabsid.cetakphoto/com.cyanlabsid.cetakphoto.PhotoPicker}: android.view.InflateException: двоичная строка XML файла # 76: двоичный XML-код строка # 76: ошибка раздувания класса android.support.design.widget.FloatingActionButton at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2423) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483) at android.app.ActivityThread.access $900 (ActivityThread.java:153) в android.app.ActivityThread $H.handleMessage(ActivityThread.java:1349) на android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5441) на java.lang.reflect.Method.invoke(собственный метод) в com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:738) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628) Причиненный по: android.view.InflateException: двоичная строка XML файла # 76: двоичная Строка XML файла # 76: ошибка раздувания класса android.support.design.widget.FloatingActionButton at android.view.LayoutInflater.inflate(LayoutInflater.java:543) at android.view.LayoutInflater.inflate(LayoutInflater.java:427) в android.view.LayoutInflater.inflate(LayoutInflater.java:374) в android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284) в android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) на com.cyanlabsid.cetakphoto.PhotoPicker.onCreate(PhotoPicker.java:74) в android.app.Activity.performCreate(Activity.java:6303) в android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376) в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2483) at android.app.ActivityThread.access $900 (ActivityThread.java:153) в android.app.ActivityThread $H.handleMessage(ActivityThread.java:1349) на android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5441) на java.lang.reflect.Method.invoke(собственный метод) в com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:738) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:628)

Может кто-нибудь сказать мою вину?

Ответ 1

Пробовал ваш код, проблема с библиотекой 23.4.0.

Обновите до 24. +, в этой библиотеке нет ошибок.

Например:

implementation 'com.android.support:appcompat-v7:24.2.1' // appcompat library
implementation 'com.android.support:design:24.2.1'

Вам также нужно изменить версию компиляции на 24.

compileSdkVersion 24

Ответ 2

Используйте

app:backgroundTint

вместо

android:backgroundTint

Надеюсь, что это сработает.

Ответ 3

Потому что android:backgroundTint не работает под API API API 21, поэтому вам нужно использовать app:backgroundTint.

Ответ 4

Версии приложения уровня API ниже 21 не поддерживают

app:backgroundTint="@color/green"

или вы можете использовать эту библиотеку для достижения большего количества виджетов дизайна материала.

https://github.com/navasmdc/MaterialDesignLibrary

счастливое кодирование...

Ответ 5

У меня была та же проблема

У меня возникла такая же проблема с версией Pre-Lolipop и для ее разрешения я просто изменил " android: src" на " приложение: srcCompat", и он работал для я.

Чтобы сделать совместимость со старой версией, и если вы используете векторную графику (в качестве ресурса, пригодного для рисования), вы должны использовать:

app:srcCompat="@drawable/you_graphics"

вместо:

android:src="@drawable/your_graphics"

Ответ 6

Вам нужно добавить

Android: тема = "@стиль/Theme.AppCompat"

в файле XML_Layout, в котором вы используете FloatingActionButton...

Ответ 7

Я использую:

classpath 'com.android.tools.build:gradle:3.3.2'

а также

distributionUrl = https://services.gradle.org/distributions/gradle-4.10.1-all.zip

Я изменил свой XML на:

<com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:clickable="true"
        android:focusable="true"
        app:srcCompat="@drawable/mapit"
        app:layout_anchor="@id/foundit_imageView"
        app:layout_anchorGravity="bottom|right|end" />

и все построено и работает правильно.

надеюсь, это поможет

Ответ 8

используйте этот код, это будет работать лучше;

<android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_margin="16dp"
        app:backgroundTint="#f9fcfc"

        android:src="@drawable/chat_float"
        tools:targetApi="lollipop" />

Ответ 9

Убедитесь, что библиотека, из которой вы объявили FloatingActionButton в действии, совпадает с библиотекой, используемой для разметки макета.

Например есть

import com.google.android.material.floatingactionbutton.FloatingActionButton; в активности и com.google.android.material.floatingactionbutton.FloatingActionButton в качестве тега для макета

Ответ 10

У меня была та же проблема, затем я изменил расположение исходного изображения на drawable с drawable-v24. После этого все работало нормально.

Ответ 11

Я была такая же проблема. Моя проблема заключалась в том, что значок для моей плавающей кнопки не был нарисован. Я заметил, что я не мог видеть предварительный просмотр. Исправление XML решило проблему.