Ошибка раздувания класса 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 решило проблему.