15 EditText

Vediamo un oggetto che potremo definire parente stretto della TextView vista nel precedente articolo.

Cos’è?
L’EditText è uno spazio in cui l’utente può scrivere inserendo quello che vuole o, con il cambiamento di opportune proprietà, potrà inserire solo determinati caratteri. È quindi un oggetto grafico fondamentale in molti casi se si vuole che la propria applicazione interagisca con l’utente.
Potrete anche voi scrivergli all’interno, sia sul file xml che runtime, ma tenete presente che l’utene che utilizzerà la vostra app potrà modificare il testo.

15.1

Principali proprietà:
• “layout_width” e “layout_height”: settate le dimensioni della vostra EditText
• “text”: settate il testo che sarà visibile.
• “id”: l’identificatico che potrete usare nel codice per modificare alcune proprietà runtime come ad esempio il testo all’interno della EditText.
• “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 in 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 EditText (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 EditText 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 EditText 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). Vi sconsiglio comunque di mettere mai un’immagine all’interno di una EditText, piuttosto usate un ImageView.
• “visibility”: assegnate la visibilità della EditText 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ò o meno modificare l’EditText. Se date il valore “false” l’utente non potrà modificarla, con “true” (che è l’opzione di default) invece sì.
• “inputType”: con questa opzione potete obbligare l’utete ad usare solo un certo insieme di lettere, numeri e simboli. Ad esempio se date come valore “number” l’utente potrà solo inserire numeri nell’EditText. Non c’è bisogno che modifichiate qui questa opzione. È più semplice andare su Design e nella finestra degli strumenti troverete diversi EditText. La loro unica differenza sarà che avranno la proprietà inputType settata a diversi valori così non dovrete occuparvene voi.
• “maxHeight”, “minHeight”, “maxWidth” e “minWidth”: all’interno di una EditText potete scrivere più righe. Se non settate le dimensioni massime che potrà avere l’EditText crescerà all’infinito per ogni riga nuova spingendo eventualmente in basso altri oggetti sotto di lui. Con queste proprietà potete invece dargli le dimensioni minime (altrimenti all’inizio ha le dimensioni di una sola riga) e quelle massime. Un consiglio, io di solito do le stesse dimensioni come minime e massime in modo che le dimensioni dell’EditText rimangano fisse e non mi scombussolano tutta la grafica. Anche se date un limite massimo potrete comunque scrivere tutte le righe che volete in quando di default l’EditText si comporta come un scollView e vi basterà far scivolare il vostro dito sullo schermo per visualizzare tutte le n righe scritte.
• “maxLines” e “minLines”: con questa proprietà potete decidere il numero massimo o minimo di righe che potrà/dovrà averà l’EditText.
• “maxLenght”: potete decidere il numero massimo di caratteri che potete inserire all’interno dell’EditText.

Queste sono tutte le principali proprietà di una EditText, 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ò.
Come sempre se volete una guida specifica riguardo a qualcosa scrivetemelo nei commenti e sarò felice di farla.
Arrivederci!

Please follow and like us: