Vraag Hoe maak ik een Android EditView-knop 'Gereed' en verberg ik het toetsenbord wanneer erop wordt geklikt?


Wanneer de gebruiker op klikt EditView, Android opent het toetsenbord zodat de gebruiker kan schrijven in de EditView.

Het probleem is dat wanneer de gebruiker klaar is met schrijven, er geen manier is om het toetsenbord te verbergen. De gebruiker moet op de knop Terug drukken om het toetsenbord te verbergen.

Is er een manier om een ​​weer te geven Done knop op het toetsenbord die het toetsenbord zal verbergen?


88
2017-12-17 05:56


oorsprong


antwoorden:


Gebruik TextView.setImeOptions en geef het door actionDone. graag willen textView.setImeOptions(EditorInfo.IME_ACTION_DONE);


110
2017-12-17 06:04



Eerst moet je de android:imeOptions attribuut gelijk aan actionDone voor je doel EditText zoals hieronder te zien is. Dat zal uw 'RETOUR' knop in het zachte toetsenbord van uw EditText veranderen in een 'KLAAR' knop.

<EditText 
    android:id="@+id/edittext_done"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="Enter some text"
    android:imeOptions="actionDone"
    />

127
2018-06-28 06:43



omvatten beide  imeOptions  en  singleLine:

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

74
2017-10-14 09:36



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

In het XML-bestand werkt prima. Maar dit zal ook de oorzaak zijn editText om te blijven typen in een enkele regel die je misschien niet wilt. Dus het toevoegen van het volgende aan uw code zorgt ervoor dat u niet alles op één regel hoeft te typen.

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

26
2017-09-20 11:52



Gebruik dit:

android:singleLine="true"

13
2017-07-12 07:21



Gebruik deze twee regels voor uw EditText

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

of je kunt het programmatisch bereiken via deze regel.

editText.setImeOptions(EditorInfo.IME_ACTION_DONE);

8
2018-03-23 10:28



Als de eigenschap niet verandert voor de widget, is het misschien beter om het te gebruiken android:imeOptions="actionDone" in de lay-out xml het dossier.


6
2018-03-17 18:51



Gebruik:

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

5
2017-12-09 10:44