пятница, 23 ноября 2012 г.

Android: Вызов клавиатуры и выбор метода ввода(IME)

    В приложениях часто бывает нужно программно вызвать клавиатуру, чтобы пользователю не пришлось специально нажимать на поле EditText для её вызова. Для программного вызова клавиатуры нужно вставить в приложение следующий код:

// Показать клавиатуру
EditText et = (EditText) findViewById(R.id.et);
InputMethodManager imm = (InputMethodManager)
     getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(et, 0);

    Код для скрытия клавиатуры:

// Спрятать клавиатуру
EditText et = (EditText) findViewById(R.id.et);
InputMethodManager imm = (InputMethodManager)
     getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.hideSoftInputFromWindow(et.getWindowToken(), 0);

    Здесь et - это текстовое поле EditText, в которое будут вбиваться данные с вызванной нами экранной клавиатуры. Если при переходе в новое activity у пользователя в фокусе оказывается EditText, то Android автоматически вызовет экранную клавиатуру. Теперь вы можете заблокировать это действие.

    Вызвать окно выбора метода ввода(IME) можно с помощью следующего кода:

//Вызов окна выбора метода ввода
InputMethodManager imm = (InputMethodManager)
        getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showInputMethodPicker();

    При вставке этого кода, скажем, в обработчик нажатия кнопки пользователь по клику на эту кнопку быстро получит окно выбора метода ввода:



Комментариев нет:

Отправить комментарий