studio - spinner android java



Come faccio a creare un pulsante 'Fatto' di Android EditView e nascondere la tastiera quando si fa clic su? (9)

Quando l'utente fa clic su EditView , Android apre la tastiera in modo che l'utente possa scrivere in EditView .

Il problema è che quando l'utente ha finito di scrivere, non c'è modo di nascondere la tastiera. L'utente deve premere il pulsante Indietro per nascondere la tastiera.

C'è un modo per visualizzare un pulsante Done sulla tastiera che nasconderà la tastiera?


Answer #1

ActionDone viene utilizzato quando si fa clic sul prossimo pulsante sulla tastiera che la tastiera dell'ora è nascosta. Utilizzare Modifica testo o AppCompatEdit

XML

1.1 Se usi AppCompatEdittext

    <android.support.v7.widget.AppCompatEditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionDone"/>

1.2 Se usi Edittext

    <EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionDone"/>

GIAVA

EditText edittext= (EditText) findViewById(R.id.edittext);
edittext.setImeOptions(EditorInfo.IME_ACTION_DONE);

Answer #2

Devo sottolineare che molte persone possono lottare senza sapere il problema.

Se vuoi nascondere il kb quando fai clic su Done , e imposti android:imeOptions="actionDone" e android:maxLines="1" senza impostare l' inputType non funzionerà come inputType predefinito per EditText non è "text" come molti pensano.

quindi, impostando solo inputType otterrai i risultati desiderati indipendentemente da ciò che desideri impostare come "text" , "number" , ... ecc.


Answer #3

Includi sia imeOptions che imeOptions :

<EditText 
   android:id="@+id/edittext_done"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:imeOptions="actionDone"
   android:singleLine="true"
   />

Answer #4

Per il codice:

editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

Answer #5

Se la proprietà non cambia per il widget, potrebbe essere meglio usare come android:imeOptions="actionDone" nel file xml del layout.


Answer #6

Usa queste due linee per il tuo EditText

android:imeActionLabel="Done"
android:singleLine="true"

oppure puoi farlo programmaticamente da questa linea.

editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

Answer #7

Uso:

android:imeActionLabel="Done"
android:singleLine="true" 

Answer #8

Utilizzare TextView.setImeOptions e passarlo actionDone. come textView.setImeOptions(EditorInfo.IME_ACTION_DONE);


Answer #9
android:imeActionLabel="Done" 
android:singleLine="true"

Nel file XML funziona bene. Ma questo farà sì che il editText di modifica continui a digitare in una singola riga che potresti non volere. Quindi aggiungendo quanto segue al tuo codice ti assicurerai che non finirai a digitare tutto su una singola riga.

mainText.setHorizontallyScrolling(false);
mainText.setMaxLines("Maximum integer value that you want to provide");




keyboard