Я пишу приложение с использованием NativeScript 6 и Angular 8.
Я предоставил мой пример кода.
У меня есть страница входа с текстовым полем.
В моем демонстрационном проекте android:windowSoftInputMode="adjustResize"
не вызывает событие изменения макета.
Обычно, когда пользователю отображается клавиатура, я хочу прослушать событие layoutChanged: https://docs.nativescript.org/ui/components/page#page -events
Так что я могу рассчитать sh мой макет.
Вот мой репозиторий: https://github.com/aubrey-fowler/KeyBoardHelp
В моем В производственном проекте он работает по той же методике.
Почему layoutChanged не вызывается? Похоже, что android:windowSoftInputMode="adjustResize"
никак не влияет на мой проект. Представление не увеличивается sh.
private onLayoutChanged(args: EventData) {
console.log(' on layout changed ');
const screenHeight = screen.mainScreen.heightPixels;
const pageHeight = (args.object as View).getMeasuredHeight();
const diff = screenHeight - pageHeight;
if (diff > screenHeight * 0.15) {
this.setIsKeyboardShowing(true);
} else {
this.setIsKeyboardShowing(false);
}
console.log(' this.isKeyboardShowing ', this.isKeyboardShowing);
}
private setIsKeyboardShowing(showing: boolean) {
this.ngZone.run( () => {
this.isKeyboardShowing = showing;
});
}
Я попытался пересобрать проект и добавить / удалить папку платформ, но безрезультатно.