J'essaye de faire un bouton personnalisé, ayant deux fichiers 9patch, un pour l'état normal et un pour l'état.Le bouton personnalisé a le texte manquant
D'abord j'ai essayé avec un simple fond 9patch et le résultat est très bien:
<Button android:id="@+id/btnTest"
android:layout_height="80dip"
android:layout_width="135dip"
android:text="Test"
android:drawableTop="@drawable/imgsomeimage"
android:background="@drawable/main_button_background">
</Button>
je reçois un bouton avec une image et un texte ci-dessous il. Tout le main_button_background sous
Je crée un nouveau fichier XML (main_menu_button.xml) avec le contenu suivant
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="false"
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/main_button_background" />
<item
android:state_focused="false"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/main_button_background" />
<!-- Focused states -->
<item
android:state_focused="true"
android:state_selected="false"
android:state_pressed="false"
android:drawable="@drawable/main_button_background_pressed" />
<item
android:state_focused="true"
android:state_selected="true"
android:state_pressed="false"
android:drawable="@drawable/main_button_background_pressed" />
<!-- Pressed -->
<item
android:state_pressed="true"
android:drawable="@drawable/main_button_background_pressed" />
</selector>
Le bouton devient:
<Button android:id="@+id/btnTest"
android:layout_height="80dip"
android:layout_width="135dip"
android:text="Test"
android:drawableTop="@drawable/imgsomeimage"
android:background="@drawable/main_menu_button">
Maintenant, le texte ISN n'est pas affiché, seulement l'arrière-plan et l'imgsomeimage. Qu'est-ce que je fais de mal?
Mes 9 patches ont tous les deux les mêmes dimensions et mon texte disparaît lorsque je sélectionne (et invoque l'autre état) :(. –