Weiß jemand, wie man den blinkenden Cursor in einer EditText
Ansicht deaktiviert ?
android
android-edittext
Kevin Parker
quelle
quelle
Perfekte Lösung, die weiter zum Ziel führt
Ziel: Deaktivieren Sie den blinkenden Cursor, wenn er
EditText
nicht scharfgestellt ist, und aktivieren Sie den blinkenden Cursor, wenn er scharfgestelltEditText
ist. Unten öffnet sich auch die Tastatur, wennEditText
klicken, und sie wird ausgeblendet, wenn Sie auf der Tastatur auf Fertig drücken.1) Stellen Sie in Ihrer XML unter Ihre
EditText
:2) OnClickListener einstellen:
3)
onCreate
Erfassen Sie dann das Ereignis, wenn Sie fertig sind , und drückenOnEditorActionListener
SieEditText
dann aufsetCursorVisible(false)
.quelle
Sie können den folgenden Code zum programmgesteuerten Aktivieren und Deaktivieren des Bearbeitungs-Textcursors verwenden.
quelle
Das Problem beim Setzen der Cursorsichtbarkeit auf true und false kann ein Problem sein, da der Cursor entfernt wird, bis Sie ihn erneut setzen und gleichzeitig das Feld bearbeitet werden kann, was keine gute Benutzererfahrung darstellt.
also anstatt zu benutzen
mach es einfach so
Der obige Code entfernt den Fokus, wodurch wiederum der Cursor entfernt wird. Und aktiviert es wieder, so dass Sie es wieder berühren und bearbeiten können. Genau wie bei einer normalen Benutzererfahrung.
quelle
In meinem Fall wollte ich den Cursor aktivieren / deaktivieren, wenn die Bearbeitung fokussiert ist.
In Ihrer Aktivität:
quelle
edit.setCursorVisible(!isKeyboardOpen);
,edit.setCursorVisible(isKeyboardOpen);
dass der Cursor sichtbar ist, wenn die Tastatur vorhanden ist.Fügen Sie diese Zeile einfach in Ihr übergeordnetes Layout ein
quelle
Wenn Sie das
Edittext
von Beginn der Aktivität an ignorieren möchtenandroid:focusable
undandroid:focusableInTouchMode
Ihnen helfen werden, inshallah.quelle
Ändern Sie den Fokus mithilfe von auf eine andere Ansicht (z. B. eine beliebige Textansicht oder ein lineares Layout im XML)
Setzen Sie addTextChangedListener in Activity auf edittext.
und dann nach dem Textwechsel von Edittext setzen
edittext.clearFocus()
;Dadurch wird der Cursor bei geöffneter Tastatur aktiviert und bei geschlossener Tastatur deaktiviert.
quelle
In kotlin your_edittext.isCursorVisible = false
quelle