Czy ktoś wie, jak wyłączyć migający kursor w EditText
widoku?
android
android-edittext
Kevin Parker
źródło
źródło
Idealne rozwiązanie, które idzie dalej do celu
Cel: Wyłącz migający kursor, gdy
EditText
nie jest ostry, i włącz migający kursor, gdyEditText
jest ostry. Poniżej otwiera także klawiaturę poEditText
kliknięciu i ukrywa ją po naciśnięciu klawisza gotowe na klawiaturze.1) Ustaw w swoim xml pod
EditText
:2) Ustaw onClickListener:
3) następnie
onCreate
uchwycić zdarzenie, gdy gotowe jest wciśnięty przy użyciuOnEditorActionListener
doEditText
, a następniesetCursorVisible(false)
.źródło
Możesz użyć następującego kodu do włączania i wyłączania edytowania kursora tekstowego przez programowo.
źródło
Problem z ustawieniem widoczności kursora na prawda i fałsz może być problemem, ponieważ usuwa kursor, dopóki nie ustawi się go ponownie, a jednocześnie pole jest edytowalne, co nie jest dobrym doświadczeniem dla użytkownika.
więc zamiast używać
po prostu zrób to w ten sposób
Powyższy kod usuwa fokus, który z kolei usuwa kursor. I włącza go ponownie, abyś mógł go ponownie dotknąć i móc go edytować. Podobnie jak zwykłe wrażenia użytkownika.
źródło
W moim przypadku chciałem włączyć / wyłączyć kursor, gdy edycja jest skoncentrowana.
W twojej działalności:
źródło
edit.setCursorVisible(!isKeyboardOpen);
abyedit.setCursorVisible(isKeyboardOpen);
kursor był widoczny, gdy klawiatura jest obecna.po prostu dodaj tę linię do układu nadrzędnego
źródło
Jeśli chcesz zignorować
Edittext
od początku działalnościandroid:focusable
iandroid:focusableInTouchMode
pomoże ci inshallah.źródło
Zmień fokus na inny widok (np. Dowolny widok tekstu lub Linearlayout w XML) za pomocą
ustaw addTextChangedListener na edittext w Activity.
a potem po zmianie tekstu na Edittext
edittext.clearFocus()
;Umożliwi to kursor, gdy klawiatura jest otwarta i wyłącza, gdy klawiatura jest zamknięta.
źródło
W kotlin your_edittext.isCursorVisible = false
źródło