Ce que j'essaie de faire est d'utiliser la nouvelle bibliothèque de conception de support Android mentionnée ici: http://Android-developers.blogspot.com/2015/05/Android-design-support-library.html .
J'ai essayé d'utiliser le bouton d'action flottante comme suit dans ma mise en page XML (c'est d'où provient l'erreur ci-dessous):
<Android.support.design.widget.FloatingActionButton
Android:id="@+id/fab"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignTop="@+id/adview"
Android:layout_marginTop="500dp" />
Lorsque mon application est lancée, c'est l'erreur:
06-06 20:56:43.186 6405-6405/com.nick.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.nick.app, PID: 6405
Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nick.app/com.nick.app.MainActivity}: Android.view.InflateException: Binary XML file line #7: Error inflating class Android.support.design.widget.FloatingActionButton
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2306)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2366)
at Android.app.ActivityThread.access$800(ActivityThread.Java:149)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1284)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:135)
at Android.app.ActivityThread.main(ActivityThread.Java:5290)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:908)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:703)
Caused by: Android.view.InflateException: Binary XML file line #7: Error inflating class Android.support.design.widget.FloatingActionButton
at Android.view.LayoutInflater.createView(LayoutInflater.Java:633)
at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:743)
at Android.view.LayoutInflater.rInflate(LayoutInflater.Java:806)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:504)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:414)
at Android.view.LayoutInflater.inflate(LayoutInflater.Java:365)
at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:401)
at Android.app.Activity.setContentView(Activity.Java:2197)
at com.nick.app.MainActivity.onCreate(MainActivity.Java:94)
at Android.app.Activity.performCreate(Activity.Java:6020)
at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1105)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2259)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2366)
at Android.app.ActivityThread.access$800(ActivityThread.Java:149)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1284)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:135)
at Android.app.ActivityThread.main(ActivityThread.Java:5290)
at Java.lang.reflect.Method.invoke(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:372)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:908)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:703)
dans mon fichier build.gradle
pour le module d'application, j'ai le compile 'com.Android.support:design:22.2.0'
requis. De plus, les autres parties pertinentes du fichier build.gradle
:
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
...
minSdkVersion 16
targetSdkVersion 21
.....
Je devrais également noter que lorsque je vais dans la structure du projet -> dépendances et que j'essaie d'ajouter une dépendance de bibliothèque, je ne trouve pas "com.Android.support:design:22.2.0" lors de la recherche (je ne suis pas sûr si cela est nécessaire ajout de la dépendance dans le fichier build.gradle).
Enfin, dans mon gestionnaire de SDK, j'ai confirmé que "Android Support Repository" et "Android Support Library" sont à jour pour les versions 15 et 22.2, respectivement.
Y a-t-il des suggestions pour ce que je pourrais essayer d'autre?
J'ai trouvé cette réponse: https://stackoverflow.com/a/30557995/1489990 et j'ai essayé la solution, mais cela n'a pas résolu mon problème.
Si vous utilisez l'un des composants de la bibliothèque de conception, vous devez vous assurer que votre activité s'étend AppCompatActivity et utilise un thème Theme.AppCompat
approprié. Notez que la FloatingActionButton
s'appuie sur le colorAccent
défini sur votre thème - assurez-vous que votre thème a bien été défini.
Cette erreur peut être due aux raisons mentionnées ci-dessous.
Exemple de condition correspondante
compile 'com.Android.support:appcompat-v7:24.2.0' // appcompat library
compile 'com.Android.support:design:24.2.0' //design support library
Votre fichier de thème dans les styles ne devrait pas avoir
<item name="colorPrimary">#4A0958</item>
<item name="colorPrimaryDark">#4A0958</item>
Cela devrait ressembler un peu à ça.
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">#4A0958</item>
<item name="colorPrimaryDark">#4A0958</item>
<item name="colorAccent">#4A0958</item>
</style>
Si tout le reste ne fonctionne pas, mettez à niveau la version de la dépendance et la version. Dans votre fichier build.gradle:
compileSdkVersion 24
compile 'com.Android.support:appcompat-v7:24.2.0'
compile 'com.Android.support:design:24.2.0'
compile 'com.Android.support:recyclerview-v7:24.2.0'
compile 'com.Android.support:cardview-v7:24.2.0'
J'ai eu le même problème. Je l'ai résolu construire le nettoyage et la reconstruction du projet. Lorsque je l'ai relancé, aucune exception de ce type n'a été lancée.
J'ai eu la même erreur. Après plus de recherche, j'ai la solution. Il suffit de changer build.gradle (Module: app)
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 24 // previous 23
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "com.ventrux.thevideoapp"
minSdkVersion 15
targetSdkVersion 24 // previous 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.Apache.http.client:4.1.2'
compile 'com.Android.support:appcompat-v7:24.2.1' // previous 23.2.1
compile 'com.Android.support:design:24.2.1' // previous 23.2.1
compile files('libs/YouTubeAndroidPlayerApi.jar')
}
Xml pour FloatingActionButton
<Android.support.design.widget.FloatingActionButton
Android:id="@+id/fab"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="bottom|end"
Android:src="@drawable/plus_iconaddvideo"
Android:layout_marginRight="30dp"
Android:layout_marginBottom="30dp"
Android:layout_alignParentBottom="true"
Android:layout_alignParentRight="true"
Android:layout_alignParentEnd="true"
Android:layout_marginEnd="30dp"
/>