Je voudrais utiliser un FloatingActionButton sur mon application, je lis ceci: https://guides.codepath.com/Android/Floating-Action-Buttons#google-s-official-support-library mais quand je lancer l'activité j'ai cette erreur:
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xavier_laffargue.podcast/com.xavier_laffargue.podcast.ACT_Test}: Android.view.InflateException: Binary XML file line #1: Error inflating class Android.support.design.widget.CoordinatorLayout
Fichier XML
<Android.support.design.widget.CoordinatorLayout
Android:id="@+id/main_content"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<ListView
Android:id="@+id/lvToDoList"
Android:layout_width="match_parent"
Android:layout_height="match_parent"></ListView>
<Android.support.design.widget.FloatingActionButton
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom|right"
Android:layout_margin="24dp"
Android:src="@drawable/ic_action_refresh"
app:layout_anchor="@id/lvToDoList"
app:layout_anchorGravity="bottom|right|end" />
</Android.support.design.widget.CoordinatorLayout>
Graddle
*apply plugin: 'com.Android.application'
Android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.xavier_laffargue.podcast"
minSdkVersion 21
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:22.2.0'
compile 'com.Android.support:support-v4:22.2.0'
compile 'com.Android.support:design:22.2.0'
compile 'com.Android.support:multidex:1.0.1'
compile 'com.Android.support:support-v13:22.2.0'
compile 'com.Android.support:cardview-v7:21.0.+'
compile 'com.Android.support:recyclerview-v7:21.0.+'
}
Veuillez le changer en AppCompatActivity si vous utilisez Activity. Probablement cela devient l'erreur quand il s'agit de l'activité.
Utilisez simplement cette ligne dans FloatingActionButton (app
au lieu de Android
):
app:backgroundTint="@color/colorAccent"
Veuillez insérer compile 'com.Android.support:design:23.0.1'
dans le fichier build.gradle de votre projet
J'ai eu la même erreur. Il suffit de changer le thème parent du projet en
<style name="Base.AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
ou tout autre Theme.AppCompat *
Vous devez inclure les bibliothèques de support.
Ajoutez ces dépendances dans votre fichier Gradle. Cela peut résoudre le problème dans certains cas.
dependencies {
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'
...
}
besoin à la fois:
étendre AppCompatActivity au lieu de FragmentActivity
public class MyActivity extends AppCompatActivity
parent du style utilisé (/res/values/styles.xml)
<style name="MyStyle" parent="Theme.AppCompat">
aditionellement:
définir les couleurs dans styles.xml
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
(prend en charge Android API 7 à 22+)
Android.Support.V7.App.AppCompatActivity
Votre style utilisé doit être dérivé d'un style Theme.AppCompat.*
. Donc, votre Resources\values\styles.xml
devrait ressembler à ceci:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="YourAppTheme" parent="Theme.AppCompat">
<item name="colorPrimaryDark">#AB000D</item>
<item name="colorPrimary">#E53935</item>
<item name="colorAccent">#00B8D4</item>
</style>
<!-- other styles... -->
</resources>
Assurez-vous également que vous utilisez réellement le thème dans votre AndroidManifest.xml
<application Android:theme="@style/YourAppTheme"></application>
Je ne peux pas commenter b.c Je n'ai pas assez de réputation, mais j'aime bien dire que la réponse correcte devrait être celle de David Corral et rakesh rajput. J'ai déjà battu pour les deux. Vous devez ajouter dans la version de votre application la bibliothèque de support suivante.
compile 'com.Android.support:design:23.0.1'
c'était l'année dernière, maintenant la dernière version est
compile 'com.Android.support:design:27.0.2'
Pour ceux qui utilisent AndroidX Dependency
En plus de changer les dépendances,XMLdoit également être changé.
de
<Android.support.design.widget.CoordinatorLayout
à
<androidx.coordinatorlayout.widget.CoordinatorLayout
Pour moi, je suis tombé sur cette erreur en utilisant un mélange de bibliothèques androidx
et Android.support.v7
.
Voir ma solution pour cette version de cette erreur ici: https://stackoverflow.com/a/52490825/1762493