20 CheckBox

Cos’è?
Possiamo definire la CheckBox come un Button avente due stati, selezionato se possiede la classica spunta “V” oppure non selezionato se è bianco.

21.1
Principali proprietà:
• “layout_width” e “layout_height”: settate le dimensioni della vostra CheckBox, tuttavia non aumenteranno le dimensioni del quadrato che spunterete ne della scritta al suo fianco. Aumenterà soltanto lo spazio bianco intorno alla CheckBox
• “text”: settate il testo visibile accanto alla CheckBox.
• “id”: l’identificatico che potrete usare nel codice per modificare alcune proprietà runtime come ad esempio il testo della CheckBox.
• “layout_margin” (simile a “layout_marginBottom”, “layout_marginTop” ecc..): settate la distanza che avrà l’oggetto, il margine quindi, dagli altri oggetti che lo circondano oppure dal bordo del layout che lo ospita.
• “textColor”: potete cambiare il colore del testo scrivendo # seguito dal valore din esadecimale del colore che volete, ad esempio “#000000” rappresenta il colore nero. Ho scritto apposta un articolo in cui ho inserito una tabella con i codici dei principali colori:
Codici dei Colori
• “textSize”: scegliete la dimensione, in pixel o dp, del testo.
• “gravity”: scegliete l’allineamento che avrà il testo all’interno della CheckBox (center, right e left sono i principali valori che potete dare a questa proprietà)
• “layout_weight”: con questo attributo assegnate l’importanza che ha la CheckBox rispetto agli altri oggetti che sono contenuti insieme a lui nel layout (nota bene, solo con il linear_layout!).L’importanza “totale” che potete distribuire ai diversi oggetti è uguale ad 1. Faccio un esempio per essere più chiaro, ipotiziamo di avere tre button all’interno di un linear_layout grande quanto tutto lo scermo con orientamento verticale. Se date ad uno button weight=0.5 e agli altri due button weight=0.25 avrete che un bottone sarà grande come metà schermo mentre l’altra metà dello schermo sarà divisa in due parti uguali ognuna occupata da uno dei due button aventi weight=0.25. Quindi ricapitolando lo schermo avrebbe la seguente distribuzione:
button weight=0.5 (grande come 1/2 di schermo)
button weight=0.25 (grande come 1/4 di schermo)
button weight=0.25 (grande come 1/4 di schermo)
• “background”: potete cambiare il colore dello sfondo della vostra CheckBox assegnando un colore nello stesso modo del textColor visto sopra. Altrimenti con “@drawable/nomeimmagine” potete assegnare come sfondo un’immagine che avete messo nella cartella drawable (il nome dell’immagine va scritto senza aggiungere l’estensione).
• “visibility”: assegnate la visibilità della CheckBox che può avere 3 differenti parametri.
visible= l’oggetto è visibile
invisible=l’oggetto è invisibile ma lo spazio che sarebbe occupato dall’oggetto rimane bianco.
gone=l’oggetto sparisce proprio in tutti i sensi, anche gli altri oggetti non lo vedono più e il suo spazio viene eventualmente occupato dagli altri oggetti in base alla layout che state usando.
• “enabled”: potete decidere se l’utente può selezionare la CheckBox o meno. Se date il valore “false” anche se l’utente premerà la CheckBox non accadrà nulla e inoltre la CheckBox apparirà sfocata, con “true” (che è l’opzione di default) invece potrete selezionare (o spuntare) la CheckBox.
• “clickable”: funziona come enabled solo che se settato a “false” la CheckBox non apparirà sfocata.
• “checked”: potete decidere se all’inizio la CheckBox dev’essere “checked”, ossia selezionata, o meno. Se scrivete “true” la Checkbox sarà inizialmente spuntata, con “false” (la scelta di default se non modificate questa proprietà) non sarà spuntata.

Queste sono tutte le principali proprietà di una CheckBox, credo di aver usato soltanto queste e comunque al momento non ne ricordo altre.
Se volete saperne di più rispetto a qualche altra proprietà scrivetelo nei commenti, mi informerò e la aggiungerò alla lista. Oppure se conoscete altre proprietà e volete aggiungerle alla lista scrivetemi proprietà con relativa descrizione in commento e io l’aggiungerò.
Nelle prossime guide alternerò descrizioni di altri oggetti con risoluzioni ad alcuni problemi che ho incontrato. Come sempre se volete una guida specifica riguardo a qualcosa scrivetemelo nei commenti e sarò felice di farla.
Arrivederci!

Please follow and like us: