Passa ai contenuti principali

Android Studio - EditText: introduzione

In questo articolo vedremo come inserire ed utilizzare nella nostra app gli oggetti Text.

Questi oggetti vanno inseriti nel layout dell'app, ad esempio nel file activity_main.xml

Gli oggetti o View di tipo Text sono i seguenti: L' EditText è una View di tipo testo di lettura/scrittura, possono essere visualizzati caratteri, numeri e caratteri speciali.
Come per i Layout bisogna definire gli attributi tra cui:
  • layout_width - specifica la larghezza della View
  • layout_height - specifica l'altezza della View
  • id - specifica l'identificativo della View
  • input_Type - specifica il tipo e come di testo inserito viene visualizzato nella View, inoltre specifica il tipo di tastiera.
    • none - equivale a non specificare l'attributo (tastiera standard)
    • text - tastiera standard con tutte lettere minuscole
    • textCapCharacters - tastiera standard con lettere maiuscole
    • textCapWords - tastiera standard con la prima lettera di ogni parola maiuscola
    • textCapSentences - tastiera standard con la prima lettera di ogni frase maiuscola e le altre minuscole fino al punto
    • textAutoCorrect - tastiera standard con correzione automatica
    • textAutoComplete - tastiera standard con completamento della parola automatico
    • textMultiLine - tastiera standard con la prima lettera minuscola: se il testo è molto lungo viene visualizzato su più righe
    • textImeMultiLine - tastiera standard con la prima lettera minuscola: se il testo è molto lungo viene visualizzato su più righe
    • textNoSuggestions - tastiera standard con tutte lettere minuscole senza suggerimenti e controllo errori da dizionario
    • textUri - tastiera standard con tutte lettere minuscole con visualizzazione in primo piano del simbolo / per scrivere indirizzi Web
    • textEmailAddress - tastiera standard con tutte lettere minuscole con visualizzazione in primo piano del simbolo @ per scrivere indirizzi mail
    • textEmailSubject
    • textShortMessage
    • textLongMessage
    • textPersonName
    • textPostalAddress
    • textPassword - tastiera standard con tutte lettere e numeri e testo nella View nascosto: usato per password nascosta
    • textVisiblePassword - tastiera standard con tutte lettere e numeri e testo nella View visibile: usato per password visibile
    • textWebEditText
    • textFilter
    • textPhonetic
    • textWebEmailAddress - tastiera standard con tutte lettere minuscole con visualizzazione in primo piano del simbolo @ per scrivere indirizzi mail
    • textWebPassword - tastiera standard con tutte lettere e numeri e testo nella View nascosto: usato per password nascosta
    • number - tastiera con soli numeri interi positivi
    • numberSigned - tastiera con soli numeri interi positivi e negativi
    • numberDecimal - tastiera con numeri decimali positivi
    • numberPassword - tastiera con numeri e testo nella View nascosto: usato per password numerica nascosta
    • phone - tastiera per inserimento numero telefonico
    • datetime - tastiera per inserimento data e/o orario
    • date - tastiera per inserimento data
    • time - tastiera per inserimento orario
Questi attributi sono necessari per il corretto funzionamento del'app.
Altri attributi possono essere:
  • hint - specifica il testo da visualizzare nella View quando questa è vuota prima dell'inserimento del testo, ad esempio un testo che suggerisce il tipo di dato da inserire
  • text - specifica il testo da visualizzare: è possibile inserire direttamente il testo oppure fare riferimento al file strings.xml
  • textSize - specifica le dimensioni del testo
  • max - specifica il numero massimo di caratteri che si possono inserire nella View
  • textColor - specifica il colore del testo
  • background - specifica il colore dello sfondo della View
  • textStyle - specifica se il testo è normale, grassetto o corsivo
  • gravity - specifica l'allineamento del testo all'interno della View
  • textAlignment - specifica l'allineamento del testo all'interno della View
  • layout_gravity - specifica l'allineamento della View rispetto al contenitore
  • layout_marginTop - Specifica lo spazio ulteriore a disposizione nella parte superiore della View o della ViewGroup
  • layout_marginBottom - Specifica lo spazio ulteriore a disposizione nella parte inferiore della View o della ViewGroup
  • layout_marginLeft - Specifica lo spazio ulteriore a disposizione nella parte sinistra della View o della ViewGroup
  • layout_marginRight - Specifica lo spazio ulteriore a disposizione nella parte destra della View o della ViewGroup
  • layout_weight - Specifica quanto spazio ulteriore deve essere riservato alla View

ESEMPIO 1:
input_Type="text"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:ems="10"
android:id="@+id/editText"/>
view raw editText1.xml hosted with ❤ by GitHub


ESEMPIO 2:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:hint="Inserisci un testo"
android:ems="10"
android:id="@+id/editText"/>
view raw editText2.xml hosted with ❤ by GitHub
Alla riga 5 è stato aggiunto l'attributo hint in modo da visualizzare una frase o parola prima di inserire il testo.


ESEMPIO 3:
input_Type="textCapCharacters"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapCharacters"
android:ems="10"
android:id="@+id/editText"/>
view raw editText3.xml hosted with ❤ by GitHub


ESEMPIO 4:
input_Type="textCapWords"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapWords"
android:ems="10"
android:id="@+id/editText"/>
view raw editText4.xml hosted with ❤ by GitHub


ESEMPIO 5:
input_Type="textCapSentences"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences"
android:ems="10"
android:id="@+id/editText"/>
view raw editText5.xml hosted with ❤ by GitHub


ESEMPIO 6:
input_Type="textAutoCorrect"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textAutoCorrect"
android:ems="10"
android:id="@+id/editText"/>
view raw editText6.xml hosted with ❤ by GitHub


ESEMPIO 7:
input_Type="textAutoComplete"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textAutoComplete"
android:ems="10"
android:id="@+id/editText"/>
view raw editText7.xml hosted with ❤ by GitHub


ESEMPIO 8:
input_Type="textMultiLine"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:ems="10"
android:id="@+id/editText"/>
view raw editText8.xml hosted with ❤ by GitHub


ESEMPIO 9:
input_Type="textNoSuggestions"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textNoSuggestions"
android:ems="10"
android:id="@+id/editText"/>
view raw editText9.xml hosted with ❤ by GitHub


ESEMPIO 10:
input_Type="textUri"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textUri"
android:ems="10"
android:id="@+id/editText"/>
view raw editText10.xml hosted with ❤ by GitHub


ESEMPIO 11:
input_Type="textEmailAddress"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="10"
android:id="@+id/editText"/>
view raw editText11.xml hosted with ❤ by GitHub


ESEMPIO 12:
input_Type="textPassword"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/editText"/>
view raw editText12.xml hosted with ❤ by GitHub


ESEMPIO 13:
input_Type="textVisiblePassword"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textVisiblePassword"
android:ems="10"
android:id="@+id/editText"/>
view raw editText13.xml hosted with ❤ by GitHub


ESEMPIO 14:
input_Type="number"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText"/>
view raw editText14.xml hosted with ❤ by GitHub


ESEMPIO 15:
input_Type="numberSigned"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned"
android:ems="10"
android:id="@+id/editText"/>
view raw editText15.xml hosted with ❤ by GitHub


ESEMPIO 16:
input_Type="numberDecimal"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:ems="10"
android:id="@+id/editText"/>
view raw editText16.xml hosted with ❤ by GitHub


ESEMPIO 17:
input_Type="numberPassword"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberPassword"
android:ems="10"
android:id="@+id/editText"/>
view raw editText17.xml hosted with ❤ by GitHub


ESEMPIO 18:
input_Type="phone"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:ems="10"
android:id="@+id/editText"/>
view raw editText18.xml hosted with ❤ by GitHub


ESEMPIO 19:
input_Type="datetime"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="datetime"
android:ems="10"
android:id="@+id/editText"/>
view raw editText19.xml hosted with ❤ by GitHub


ESEMPIO 20:
input_Type="date"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="date"
android:ems="10"
android:id="@+id/editText"/>
view raw editTex20.xml hosted with ❤ by GitHub


ESEMPIO 21:
input_Type="time"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="time"
android:ems="10"
android:id="@+id/editText"/>
view raw editTex21.xml hosted with ❤ by GitHub


E' possibile anche impostare più di un inputType, ad esempio se vogliamo che la tastiera abbia il carattere iniziale di ogni frase maiuscolo e la visualizzazione su più righe.
Per fare questo è necessario impostare l'input_Type in questo modo:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapSentences|textMultiLine"
android:ems="10"
android:id="@+id/editText"/>
view raw editTex22.xml hosted with ❤ by GitHub
Con il carattere | si combinano più input_type

Vedi gestione della tastiera
Vedi recupero del testo inserito
Vedi eliminare il Focus

Commenti

Post popolari in questo blog

Android Studio - Impostare lingua app

In questo articolo vedremo come poter selezionare la lingua all'interno della nostra app. Nel precedente articolo in cui si parlava del file string.xml , la lingua dell'app veniva selezionata automaticamente in base alle impostazioni del dispositivo, mentre qui vedremo come poter selezionare a proprio piacimento la lingua che dovrà avere la nostra app indipendentemente dall'impostazione del dispositivo. Per prima cosa creare il layout Ecco un esempio do come può essere il file activity_main.xml Ora creare le stringhe di testo all'interno del file string.xml Ora creare la traduzione del file string.xml nelle varie lingua come descritto in questo articolo Il risultato sarà una serie di file string.xml delle varie lingue impostate. Ora queste di seguito sono tre funzioni che servono per: selezione della lingua salvataggio della selezione nelle preferenze dell'app caricamento della lingua quando si avvia l'app Ecco come si presenta il file Main...

Android Studio - Rinominare il progetto

Rinominare il progetto Android Studio ATTENZIONE!: non eseguire questa procedura se l'app è stata pubblicata su Google Play Store Quando si vuole cambiare nome al progetto: nome cartella in cui è contenuto il progetto package name bisogna eseguire questi passaggi: Andare nella cartella dove è contenuto il progetto Creare una copia del progetto in questione Rinominare la cartella copiata con il nome dell'app (non usare spazi tra le parole) Ora è necessario dire ad Android Studio il nome del nuovo progetto  Aprire Android Studio Aprire il progetto creato in precedenza Una volta caricato il progetto cliccare Build Cliccare Clean Project Attendere che venga eseguito il processo di "pulitura" Cliccare ancora su Build Cliccare su Rebuild Project Attendere che venga ricostruito il progetto Ora aprire la cartella app fino a visualizzare la cartella java Cliccare sull'ingranaggio  Deselezionare la voce Compact Middle Packa...

Arduino - Lettura tensione potenziometro e display LCD

Leggere il valore di un poteziometro (parte 2) Oggi vedremo come leggere il valore in tensione di un potenziometro collegato al pin Analogico A0 di Arduino.