[prg] Re: направить текст в talkback и отловить нажатие ввод на вирт. клавиотуре
Здравствуйте, Илья Пащук.
> 1. когда приходит новый фрагмент текста, его нужно передать в talkback
> так, чтобы он был немедленно произнесён, не выводя на скрин
> дополнительных элементов типа всплывающих окон.
У view есть метод announceForAccessibility(), при отправке текста в который
TalkBack произносит этот текст вне зависимо от фокуса. То есть вам при
выводе текста надо отрисовывать его в интерфейс, а также одновременно
отправлять в announceForAccessibility(), и тогда вы получите желаемый
эффект.
> 2. когда на вирт. клаве нажимают ввод, совершить действие, эквивалентное
> кнопке
Для начала полю редактирования надо установить атрибут
android:imeOptions="actionDone"
Это будет выводить виртуальную кнопку "Готово". Ну и обработчик этой кнопки
выглядит примерно так:
editText.setOnEditorActionListener(new EditText.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) ||
(actionId == EditorInfo.IME_ACTION_DONE)) {
// Действия, выполняемые при нажатии
}
return false;
}
});
Успехов. Никита.