web-dev-qa-db-fra.com

Erreur de gonflage de la classe Android.support.design.widget.FloatingActionButton

Mon application a planté parce que

Erreur de gonflage de la classe Android.support.design.widget.FloatingActionButton

Ceci est mon code dans le 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" />

et voici mon grade

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

mon logcat

EXCEPTION FATALE: Processus principal: com.cyanlabsid.cetakphoto, PID: 15298 Java.lang.RuntimeException: impossible de démarrer l'activité ComponentInfo {com.cyanlabsid.cetakphoto/com.cyanlabsid.cetakphoto.PhotoPicker}: Android.view.InflateException: ligne de fichier XML binaire n ° 76: fichier XML binaire ligne de fichier n ° 76: erreur lors de l’infllation de la classe Android.support.design.widget.FloatingActionButton à Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2423) à Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:2483) à Android.app.ActivityThread.access 900 $ (ActivityThread.Java:153) à Android.app.ActivityThread $ H.handleMessage (ActivityThread.Java:1349) sur Android.os.Handler.dispatchMessage (Handler.Java:102) sur Android.os.Looper.loop (Looper.Java:148) à l'adresse Android.app.ActivityThread.main (ActivityThread.Java:5441) à Java.lang.reflect.Method.invoke (Méthode native) à com.Android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.Java:738) à com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:628) Caused par: Android.view.InflateException: ligne de fichier XML binaire # 76: binaire Ligne de fichier XML n ° 76: erreur de gonflage de la classe Android.support.design.widget.FloatingActionButton à Android.view.LayoutInflater.inflate (LayoutInflater.Java:543) à 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) sur com.cyanlabsid.cetakphoto.PhotoPicker.onCreate (PhotoPicker.Java:74) sur Android.app.Activity.performCreate (Activity.Java:6303) sur Android.app.Instrumentation.callActivityOnCreate (Instrumentation.Java:1108) à Android.app.ActivityThread.performLaunchActivity (ActivityThread.Java:2376) à Android.app.ActivityThread.handleLaunchActivity (ActivityThread.Java:2483) à Android.app.ActivityThread.access 900 $ (ActivityThread.Java:153) à Android.app.ActivityThread $ H.handleMessage (ActivityThread.Java:1349) sur Android.os.Handler.dispatchMessage (Handler.Java:102) sur Android.os.Looper.loop (Looper.Java:148) à l'adresse Android.app.ActivityThread.main (ActivityThread.Java:5441) à Java.lang.reflect.Method.invoke (Méthode native) à com.Android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.Java:738) sur com.Android.internal.os.ZygoteInit.main (ZygoteInit.Java:628)

Quelqu'un peut-il dire ma faute?

24
Vanya Rachel

J'ai essayé votre code, le problème vient de la bibliothèque 23.4.0. 

Passez à la version 24. +, il n'y a pas d'erreur dans cette bibliothèque.

Par exemple : 

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

Vous devez également modifier la version de compilation en 24.

compileSdkVersion 24
11
Dus

Utilisation 

app:backgroundTint

au lieu de 

Android:backgroundTint

J'espère que ça va marcher.

44
Juboraj Sarker

Parce que Android:backgroundTint ne fonctionne pas sous Android API 21, vous devez donc utiliser app:backgroundTint à la place.

16

Les versions d’application inférieures au niveau API 21 ne prennent pas en charge la 

app:backgroundTint="@color/green"

ou vous pouvez utiliser cette bibliothèque pour réaliser plus de widgets de conception de matériel.

https://github.com/navasmdc/MaterialDesignLibrary

codage heureux ...

11
Ashana.Jackol

J'ai eu le même problème

J'ai rencontré le même problème avec la version Pre-Lolipop et pour le résoudre, je viens de changer " Android: src " en " app: srcCompat " & cela a fonctionné pour moi.

Pour assurer la compatibilité avec les versions antérieures et si vous utilisez des graphiques vectoriels (en tant qu'actifs pouvant être appelés), vous devez utiliser:

app:srcCompat="@drawable/you_graphics"

au lieu de:

Android:src="@drawable/your_graphics"
6
Ravee Sunshine

Vous devez ajouter 

Android: theme = "@ style/Theme.AppCompat" 

dans le fichier XML_Layout dans lequel vous utilisez FloatingActionButton ...

3
Muhammad Aamir

utilisez ce code cela fonctionnera mieux;

<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" />
0
Pradeep Sheoran