J'ai un ImageButton et je veux faire en sorte que l'arrière-plan du bouton change de couleur lorsque le bouton est enfoncé. J'ai copié le fichier button_bg.xml de la question this.android.view.InflateException Ligne de fichier XML binaire # 54
button_bg.xml ressemble à ceci:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
Et la ligne # 54 se présente comme suit:
<ImageButton
android:id="@+id/sendButton"
android:background="@drawable/button_bg"
android:src="@drawable/ic_action_send_now"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:layout_alignParentRight="true" />
J'ai essayé d'enlever la ligne:
android:background="@drawable/button_bg"
qui arrête la application s'écraser mais les boutons ne changent pas de couleur.
Toute aide serait appréciée
duplication possible de [android.view.InflateException: ligne de fichier XML binaire # 39: erreur de classe de gonflement] (http://stackoverflow.com/questions/17347293/android-view-inflateexception-binary-xml-file-line -39-error-inflating-class) – Codeman
Sur quelle version d'Android testez-vous cette option? Je soupçonne que le problème est dans le 'android: src', plutôt que le' android: background'. – Codeman
Essayez d'ajouter Drawable x = getResources(). GetDrawable (R.drawable.button_bg "); à votre méthode Activity # onCreate() avant l'appel setContentView() .Si cela fonctionne, votre drawable est OK. un meilleur message d'erreur dans logcat –