Android: как я могу определить, отображается ли программная клавиатура?

Вот дилемма: Я показываю экран с 3 полями ввода и 2 кнопками внутри вкладки (всего 3 вкладки, и они внизу экрана). 2 кнопки расположены в нижнем левом и правом углу экрана, прямо над вкладками. когда я нажимаю на поле ввода, все вкладки и кнопки выдвигаются вверх на клавиатуре.

Я хочу только подтолкнуть кнопки вверх, а вкладки оставить там, где они изначально находятся, внизу.Я подумываю установить видимость вкладок на GONE, как только я определю, что виртуальная клавиатура отображается, и видимость на VISIBLE, когда мягкая клавиатура исчезнет.

есть какой-то слушатель для виртуальной клавиатуры или, может быть, для поля ввода? может быть, хитрое использование OnFocusChangeListener для редактирования текста? Как определить, видна клавиатура или нет?

20
задан james 25 August 2010 в 18:08
поделиться