Поиск сообщества
Показаны результаты для тегов 'Orientation'.
Найдено: 2 результата
-
Я использую принудительную ориентацию экрана на Android устройстве. Что это означает? Когда открывается приложение, экран переворачивается в то положение, которое я устанавливаю по умолчанию, или которое было установлено в настройках приложения (состояние читается при запуске приложения). Приведу пример кода, как я его написал. Здесь что-то лишнее, что-то может стоит доработать. Есть две проблемы в примере: 1. Чтобы изменить ориентацию экрана, приходится закрывать (уничтожать) приложение, а потом открывать заново. 2. Когда стоит режим ландшафт, то срабатывает автоматический переворот экрана по сенсору, когда поворачиваешь экран на 180 градусов. А когда стоит режим портрет, автоматически экран не переворачивается. В настройках проекта так: В Object inspector для главной формы так: В модуле проекта вот так: begin Application.Initialize; TAndroidHelper.Activity.getWindow.addFlags (TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON); Application.FormFactor.Orientations := [TFormOrientation.Portrait, TFormOrientation.InvertedPortrait, TFormOrientation.Landscape, TFormOrientation.InvertedLandscape]; Application.CreateForm(TDM, DM); Application.CreateForm(TfmMain, fmMain); VKAutoShowMode := TVKAutoShowMode.Always; Application.Run; end. В модуле главной формы: procedure TfmMain.FormShow(Sender: TObject); begin if DM.setOrientation(TAndroidHelper.Activity) then Invalidate; end; В дата-модуле вот так: function TDM.setOrientation(Activity: JActivity): boolean; var orient: Integer; begin result := False; if DM.GetSettingsBoolean('IsOrientationLandshaft', true) then orient := TJActivityInfo.JavaClass.SCREEN_ORIENTATION_SENSOR_LANDSCAPE else orient := TJActivityInfo.JavaClass.SCREEN_ORIENTATION_SENSOR_PORTRAIT; try if Activity.getRequestedOrientation <> orient then begin Activity.setRequestedOrientation(orient); result := true; end; except result := False; end; end;
-
- Ориентация
- Orientation
-
(и ещё 1 )
C тегом:
-
Никак не могу разобраться со сменой ориентации в приложении. Когда в Project options -> Application -> Orientation не стоит галочка Enable custom orientation, то при разных поворотах устройства приложение само переворачивается (тут все понятно). Мне же нужно что была только горизонтальная ориентация обычная и перевернутая (Landscape и Inverted landscape). Я ставлю галочку Enable custom orientation и выбираю Landscape home right и Landscape home left. В приложении ориентация становиться Landscape home right и как бы я не переворачивал устройство, ориентация не меняется. Собственно об этом и в справке написано, но почему? Вдруг пользователю во время работы нужна ориентация Landscape home left? Автоматически меняться не будет, нужно вручную? Объясните как правильно менять ориентацию? PS. Все темы про раздела прочитал, понимание не пришло. PPS. Application.Initialize; Application.FormFactor.Orientations := [TFormOrientation.Landscape, TFormOrientation.InvertedLandscape]; Application.CreateForm(TForm1, Form1); Application.Run;
- 7 ответов
-
- ориентация
- landscape
-
(и ещё 1 )
C тегом: