Как центральный узел gluon view У меня есть scrollpane, который содержит несколько текстовых полей в vbox. Когда одно из этих текстовых полей становится фокусным менеджером и появляется клавиатура, текстовое поле не перестраивается в соответствии с расположением клавиатуры, поэтому оно остается закрытым клавиатурой. Я попытался положитьПокрытия клавиатуры TextField
android:windowSoftInputMode="adjustResize"
в AndroidManifest, но без какого-либо успеха.
В качестве обходного пути я переводю y-координаты закрытого текстового поля в видимую область. Когда вы нажимаете кнопку обратной связи Android, чтобы скрыть клавиатуру, позиция текстовых полей будет сброшена в исходное состояние. Вопрос я получаю здесь в том, что я не получаю событие для кнопки андроида назад, независимо от того, где я добавить слушатель:
view.addEventFilter(MobileEvent.BACK_BUTTON_PRESSED, evt -> eventFilter);
MobileApplication.getInstance().getGlassPane().addEventFilter(MobileEvent.BACK_BUTTON_PRESSED, evt -> eventFilter);
Есть ли возможность обрабатывать позиционирование узла под клавиатуры или получить ссылку на клавиатуру?
Красиво сделано! Получили ли вы его полностью? Для установки обработчика требуется несколько дополнительных шагов. –
Кажется работать. Интересно, что вы имеете в виду, «для этого требуется несколько дополнительных шагов»? GlobalLayoutListener отлично работает. Я просто не знал, как получить доступ к rootView. Либо «FXActivity.getViewGroup(). GetRootView() или FXActivity.getInstance(). GetWindow(). GetDecorView()'. – jns
Я имел в виду, что в проекте с несколькими представлениями установка регулятора для текстового поля требует прослушивания, когда отображается представление. –