web-dev-qa-db-fra.com

Modifier les icônes de coché et décoché pour la case à cocher pour Android

Au lieu d'avoir une coche pour l'icône, je veux une étoile personnalisée (j'ai coché et décoché les icônes). Cela peut-il se faire par le biais d'une propriété? Ou dois-je déclarer un widget personnalisé dérivé de Checkbox?

56
Mohit Deshpande

Type de mélange:

Réglez-le dans votre fichier de mise en page: -

 <CheckBox Android:layout_width="wrap_content"
           Android:layout_height="wrap_content" 
           Android:text="new checkbox"
           Android:background="@drawable/checkbox_background" 
           Android:button="@drawable/checkbox" />

où la case @ drawable/ressemblera:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
 <item Android:state_checked="true" Android:state_focused="true"
  Android:drawable="@drawable/checkbox_on_background_focus_yellow" />
 <item Android:state_checked="false" Android:state_focused="true"
  Android:drawable="@drawable/checkbox_off_background_focus_yellow" />
 <item Android:state_checked="false"
  Android:drawable="@drawable/checkbox_off_background" />
 <item Android:state_checked="true"
  Android:drawable="@drawable/checkbox_on_background" />
</selector>
149
ggomeze

c'est Android:button="@drawable/selector_checkbox" pour le faire fonctionner

9
алекс кей

Je me rends compte que c'est une vieille question, et l'OP parle d'utiliser un gx personnalisé qui ne ressemble pas à une case à cocher, mais il existe une ressource fantastique pour générer des actifs colorés personnalisés ici: http: // kobroor .pl /

Donnez-lui simplement les détails pertinents et il crache des graphiques, avec des ressources xml, que vous pouvez simplement déposer directement.

6
suomi35

Une alternative serait d'utiliser une vue/textable à dessiner au lieu d'une case à cocher et de la manipuler en conséquence. J'ai utilisé cette méthode pour avoir mes propres images vérifiées et non vérifiées pour une application de tâche.

2
Ravi Vyas