Alex7wrt Опубликовано 15 мая, 2017 Поделиться Опубликовано 15 мая, 2017 (изменено) Добрый день. В приложении использую только портретную ориентацию экрана. Application.FormFactor.Orientations := [TFormOrientation.Portrait]; Необходимо определить, что устройство повернулось в альбомный вид (при этом интерфейс все время отображается в портретном виде) Как такое реализовать? Есть ли такие функции в FMX или обязательно нужно использовать датчики? Изменено 16 мая, 2017 пользователем Alex7wrt Цитата Ссылка на комментарий
0 Rusland Опубликовано 16 мая, 2017 Поделиться Опубликовано 16 мая, 2017 (изменено) Там есть пример как отследить изменение положения экрана Изменено 16 мая, 2017 пользователем Rusland Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 16 мая, 2017 Автор Поделиться Опубликовано 16 мая, 2017 Спасибо, но тот код не работает, когда всегда только портретная ориентация. Вы и сами там написали, что он работает при повороте приложения, но не устройства. А мне нужно чтобы приложение не поворачивалось, но я знал, в какой ориентации сейчас сам телефон. Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 17 мая, 2017 Администраторы Поделиться Опубликовано 17 мая, 2017 Самый простой и тупой способ это у формы в OnResize анализировать ширину и высоту. Этот способ будет одинаково работать везде. Если хочется более нативного варианта решения задачи, то можно воспользоваться TfgApplicationEvents.OnDeviceOrientationChanged. Alex7wrt 1 Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 17 мая, 2017 Автор Поделиться Опубликовано 17 мая, 2017 (изменено) Спасибо, с OnResize уже начал делать, нужно попробовать с TfgApplicationEvents.OnDeviceOrientationChanged Наверно, вы имели ввиду TfgApplicationEvents.OnOrientationChanged? Изменено 17 мая, 2017 пользователем Alex7wrt Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 17 мая, 2017 Администраторы Поделиться Опубликовано 17 мая, 2017 10 минут назад, Alex7wrt сказал: Спасибо, с OnResize уже начал делать, нужно попробовать с TfgApplicationEvents.OnDeviceOrientationChanged Наверно, вы имели ввиду TfgApplicationEvents.OnOrientationChanged? Да точно! :-) Alex7wrt 1 Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 17 мая, 2017 Автор Поделиться Опубликовано 17 мая, 2017 Вариант с TfgApplicationEvents.OnOrientationChanged тоже не подходит. Следующий код procedure TForm1.fgApplicationEvents1OrientationChanged(const AOrientation: TScreenOrientation); begin if AOrientation = TScreenOrientation.Portrait then text7.Text:='portrait' else if AOrientation = TScreenOrientation.Landscape then text7.Text:='landscape'; end; Всегда возвращает 'portrait' при вращении устройства. По-видимому остается только вариант с OnResize и сравнением ширины и высоты. Цитата Ссылка на комментарий
Вопрос
Alex7wrt
Добрый день.
В приложении использую только портретную ориентацию экрана.
Application.FormFactor.Orientations := [TFormOrientation.Portrait];
Необходимо определить, что устройство повернулось в альбомный вид (при этом интерфейс все время отображается в портретном виде)
Как такое реализовать? Есть ли такие функции в FMX или обязательно нужно использовать датчики?
Изменено пользователем Alex7wrtСсылка на комментарий
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.