Wenn der Benutzer auf klickt EditView
, öffnet Android die Tastatur, damit der Benutzer in das schreiben kann EditView
.
Das Problem ist, wenn der Benutzer mit dem Schreiben fertig ist, gibt es keine Möglichkeit, die Tastatur auszublenden. Der Benutzer muss die Zurück-Taste drücken, um die Tastatur auszublenden.
Gibt es eine Möglichkeit, eine Done
Schaltfläche auf der Tastatur anzuzeigen, die die Tastatur ausblendet?
Antworten:
Verwenden Sie TextView.setImeOptions und übergeben Sie es actionDone. mögen
textView.setImeOptions(EditorInfo.IME_ACTION_DONE);
quelle
textView.setImeOptions(EditorInfo.IME_ACTION_DONE);
textView.singleLine(true)
, damit dies programmgesteuert funktioniert.Zuerst müssen Sie das
android:imeOptions
AttributactionDone
für Ihren Ziel-EditText wie unten gezeigt festlegen. Dadurch wird Ihre Schaltfläche "RETURN" in der Softtastatur Ihres EditText in eine Schaltfläche "DONE" geändert.quelle
android:singleLine="true"
, damit dies über XMLSchließen Sie beide ein
imeOptions
undsingleLine
:quelle
In der XML-Datei funktioniert gut. Dies führt aber auch dazu
editText
, dass Sie weiterhin eine einzelne Zeile eingeben, die Sie möglicherweise nicht möchten. Wenn Sie also Ihrem Code Folgendes hinzufügen, wird sichergestellt, dass Sie nicht alles in einer einzigen Zeile eingeben.quelle
Um den fertigen Button zu bekommen
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
und
android:inputType="text"
in der xmlZur Handhabung auf fertig über die Tastatur geklickt
`
quelle
Benutze das:
quelle
actionDone
, nur für den Fall, dass einige Geräte anders reagieren.Verwenden Sie diese beiden Zeilen für Ihre
EditText
oder Sie können es programmgesteuert durch diese Zeile erreichen.
quelle
Wenn sich die Eigenschaft für das Widget nicht ändert, ist es möglicherweise besser, sie wie
android:imeOptions="actionDone"
in der Layoutdatei zuxml
verwenden.quelle
Verwenden:
quelle
Für den Code:
quelle
ActionDone wird verwendet, wenn Sie auf die nächste Schaltfläche in der Tastatur klicken, wenn die Tastatur ausgeblendet ist. Verwenden Sie in Text bearbeiten oder AppcompatEdit
XML
1.1 Wenn Sie AppCompatEdittext verwenden
1.2 Wenn Sie Edittext verwenden
JAVA
quelle
Ich muss darauf hinweisen, dass viele Menschen sich darum bemühen können, ohne das Problem zu kennen.
Wenn Sie möchten, dass die KB beim Klicken ausgeblendet wird
Done
und Sieandroid:imeOptions="actionDone"
&android:maxLines="1"
ohne Ihren EditText festlegeninputType
, funktioniert dies NICHT , da die StandardeinstellunginputType
für den EditText nicht"text"
so ist, wie viele Leute denken.so, nur Einstellung
inputType
wird Ihnen die Ergebnisse , die Sie wünschen , was auch immer , was Sie es mögen setzen"text"
,"number"
... etc.quelle
Tatsächlich können Sie benutzerdefinierten Text für diese kleine blaue Schaltfläche festlegen. In der XML-Datei verwenden Sie einfach
auf Ihrem EditText.
Oder in der Java-Datei verwenden
Ich wähle willkürlich IME_ACTION_DONE als Beispiel dafür, was im zweiten Parameter für diese Funktion stehen soll. Eine vollständige Liste dieser Aktionen finden Sie hier .
Es ist zu beachten, dass dadurch nicht auf allen Tastaturen aller Geräte Text angezeigt wird. Einige Tastaturen unterstützen keinen Text auf dieser Schaltfläche (z. B. Swiftkey). Und einige Geräte unterstützen es auch nicht. Eine gute Regel ist, wenn Sie bereits Text auf der Schaltfläche sehen, wird dieser in den gewünschten Text geändert.
quelle
Kotlin-Lösung
Der direkte Weg, um die Tastatur ausblenden + Aktion in Kotlin ausführen, ist:
Kotlin-Erweiterung
Verwenden Sie diese Option, um
edittext.onDone {/*action*/}
Ihren Hauptcode aufzurufen . Hält es lesbarer und wartbarerZusätzliche Tastaturerweiterungen
Wenn Sie weitere Möglichkeiten zur Vereinfachung der Arbeit mit der Tastatur wünschen (Anzeigen, Schließen, Fokussieren): Lesen Sie diesen Beitrag
quelle
Verwenden Sie dies aus Ihrer Sicht
quelle
Wenn Sie verwenden
dann musst du verwenden
Dann können nur Sie die Schaltfläche Aktion erledigt auf der Tastatur sehen.
quelle
Wenn Sie überhaupt keine Schaltfläche möchten (z. B. entwickeln Sie eine grafische Benutzeroberfläche für Blinde, bei der das Tippen nicht positioniert werden kann und Sie sich auf einfache / doppelte / lange Tippen verlassen):
Oder in Kotlin:
quelle