Android Material Design TextInputLayout - Как мне сфокусироваться и вызвать слушателя onClick, но клавиатура не должна появляться - PullRequest
0 голосов
/ 11 марта 2019

В настоящее время я пытаюсь использовать Android Text Design TextInputLayout и TextInputEditText для создания DatePicker, где пользователь не может самостоятельно вводить какие-либо входные данные, а использует только DatePicker.В настоящее время это работает отлично и может быть видно на изображении, однако я бы хотел, чтобы пользователи получали визуальную обратную связь, когда они нажимают на текст редактирования.Я не могу сделать это без нажатия клавиатуры, когда пользователь нажимает на поле ...

В настоящее время я пытался установить значения xml для focusableInTouchMode равными true, а затем установить фокус с помощью view.requestFocus ();но это не работает.

enter image description here

1 Ответ

0 голосов
/ 11 марта 2019

Если вы нацеливаетесь на API> = 21, вы можете установить следующий атрибут для вашего editText и достичь желаемого:

yourEditText.setShowSoftInputOnFocus(false);

Для предыдущих API вы можете избавиться от мягкого ввода сразу после фокуса, вызвав следующее:

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

UPDATE:

попробуйте использовать событие касания с помощью сенсорного прослушивателя:

yourEditText.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
    return true;
    }
});

возвращая true, слушатель потребляет событие, и клавиатура не должна всплывать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...