web-dev-qa-db-fra.com

Android: comment créer un sélecteur dessinable

J'ai l'impression que c'est une sorte de question stupide, mais ici je vais quand même. J'ai un bouton d'image et je veux pouvoir changer son image à chaque fois qu'il est cliqué. L'API semble dire que la meilleure façon de procéder consiste à créer une ressource xml dans le dossier drawable qui contient un sélecteur et des valeurs. Cependant, quand je vais créer une nouvelle ressource Android xml, il n'y a pas d'option pour les drawables. Qu'est-ce qui me manque?

30
aamiri

Pour autant que je sache, l'éditeur Android XML ne permet pas de créer des dessins XML. Vous devez aller dans l'onglet source (étiqueté: filename.xml) et coller le texte manuellement Il devrait ressembler à:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:state_enabled="false" 
        Android:drawable="@drawable/cell_top_selected" />
    <item Android:drawable="@drawable/cell_top" />
</selector>
37
James

Vous pouvez essayer cela aussi comme sélecteur

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">

    <!-- pressed -->
    <item Android:drawable="@drawable/button_1_selected" Android:state_pressed="true"/>
    <!-- focused -->
    <item Android:drawable="@drawable/button_1_normal" Android:state_focused="true"/>
    <!-- default -->
    <item Android:drawable="@drawable/button_1_normal"/>

</selector>
29
dhir