Перейти к содержанию
Fire Monkey от А до Я
  • 0

Определение положения экрана


Alex7wrt

Вопрос

Добрый день.
В приложении использую только портретную ориентацию экрана.

Application.FormFactor.Orientations := [TFormOrientation.Portrait];

Необходимо определить, что устройство повернулось в альбомный вид (при этом интерфейс все время отображается в портретном виде)

Как такое реализовать? Есть ли такие функции в FMX или обязательно нужно использовать датчики?

Изменено пользователем Alex7wrt
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Спасибо, но тот код не работает, когда всегда только портретная ориентация. Вы и сами там написали, что он работает при повороте приложения, но не устройства. А мне нужно чтобы приложение не поворачивалось, но я знал, в какой ориентации сейчас сам телефон.

Ссылка на комментарий
  • 0
  • Администраторы

Самый простой и тупой способ это у формы в OnResize анализировать ширину и высоту. Этот способ будет одинаково работать везде.

Если хочется более нативного варианта решения задачи, то можно воспользоваться TfgApplicationEvents.OnDeviceOrientationChanged.

Ссылка на комментарий
  • 0

Спасибо, с OnResize уже начал делать, нужно попробовать с TfgApplicationEvents.OnDeviceOrientationChanged 

Наверно, вы имели ввиду TfgApplicationEvents.OnOrientationChanged?

Изменено пользователем Alex7wrt
Ссылка на комментарий
  • 0
  • Администраторы
10 минут назад, Alex7wrt сказал:

Спасибо, с OnResize уже начал делать, нужно попробовать с TfgApplicationEvents.OnDeviceOrientationChanged 

Наверно, вы имели ввиду TfgApplicationEvents.OnOrientationChanged?

Да точно! :-)

Ссылка на комментарий
  • 0

Вариант с 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 и сравнением ширины и высоты.

 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...