J'ai essayé d'implémenter le bouton d'action flottant dans mon autre projet avec fab et de le personnaliser et cela fonctionne bien. Mais cette fois, lorsque je crée l'objet fab dans ma mise en page xml, il affiche une erreur. Se sentant confus, il a essayé de supprimer une partie de sa balise et a découvert que donner la balise android: backgroundTint est lorsque l'erreur apparaît.

Voici le code:

    <android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:fabSize="mini"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:src="@drawable/ic_action_fab"
    android:backgroundTint="#2196F3"
    android:layout_margin="12dp"/>

Voici ma version:

compileSdkVersion 25
buildToolsVersion '25.0.0'

defaultConfig {
    applicationId "com.xxxx.xxxx"
    minSdkVersion 10
    targetSdkVersion 23
    versionCode 1
    versionName "2.0.4"
}

J'ai également ajouté le gradle de conception google.

L'erreur:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxx.xxxx/com.xxxx.xxxx.HomeActivity}: android.view.InflateException: Binary XML file line #141: Binary XML file line #141: Error inflating class android.support.design.widget.FloatingActionButton

Dès que je supprime la balise android: backgroundtint, l'erreur a disparu. Une idée de pourquoi cela se produit?

4
user3576118 26 juil. 2017 à 05:53

2 réponses

Meilleure réponse

Au lieu de android:backgroundTint="#2196F3", essayez avec app:backgroundTint="#2196F3"

10
John Joe 26 juil. 2017 à 02:59

Comme les réponses données ci-dessus, il est correct d'ajouter app:backgroundTint au lieu de android:backgroundTint. . Vous pouvez trouver les détails à ce sujet dans ce answer

Exemple: app:backgroundTint="@color/orange"

Je ne sais pas vraiment si je devrais supprimer ce message car il pourrait s'agir d'une sorte de doublon, mais j'apprécie vraiment votre aide.

1
Agilanbu 16 nov. 2018 à 05:28