4

まず第一に、私は Android と FireMonkey のプログラミングに関しては初心者なので、このことを心に留めておいてください :-)。

画面のサイズと向きに応じてコントロールのサイズを変更/リフローできる FireMonkey/Android アプリケーションを作成しましたが、ユーザーが画面を回転させたときにアプリケーションが呼び出されるように設定する方法がわかりません。その中で Firemonkey/Win32 を実行し、次のことを行うボタンを表示すると:

PROCEDURE TMainForm.FlipForm;
  VAR
    W,H : INTEGER;

  BEGIN
    W:=Width; H:=Height; Width:=H; Height:=W
  END;

FormResize イベントをトラップすると、フォームは必要に応じてサイズ変更/リフローします。Androidで実行する場合も同じようにしたいのですが、画面回転時にFormResizeイベントが呼び出されないようで、ボタンなどがリフローされず画面外になってしまいます。

私の質問は、アプリケーションが横向きモードと縦向きモードの両方で動作するように、画面が回転したことをどのように検出するのですか?

4

3 に答える 3

4

次のアプローチも使用できます。アプリケーションが回転すると、TForm.OnResizeが呼び出されます。したがって、このイベントにハンドラーを設定し、サービスIFMXScreenService.GetScreenOrientationを介して現在の向きを確認できます。

于 2014-01-14T15:07:23.643 に答える