自動回転が有効なときにユーザーがデバイスを回転させると、オペレーティングシステムは、システムタスクバーやアプリケーションを含むユーザーインターフェイス全体の方向を再設定します。この結果、ステージの縦横比は縦長から横長へ、または横長から縦長へ変更されます。縦横比が変更されるとステージサイズも変更されます。
実行時に自動回転の有効と無効を切り替えるには、Stage の
autoOrients
プロパティを
true
または
false
に設定します。
<autoOrients>
エレメントを使用して、AIR アプリケーション記述子にこのプロパティの初期値を設定することができます(AIR 2.6 よりも前のバージョンでは、
autoOrients
は読み取り専用プロパティであり、アプリケーション記述子のみで設定可能です)。
横長または縦長の縦横比を指定して自動回転を有効にすると、AIR では自動回転が指定された縦横比に制限されます。
ステージサイズの変更
ステージサイズが変更された場合、ステージのコンテンツは Stage オブジェクトの
scaleMode
と
align
に指定されたとおりに拡大/縮小され、再配置されます。ほとんどの場合、Stage の
scaleMode
設定に指定された自動的な動作を使用すると、良い結果が得られません。複数の縦横比をサポートするには、グラフィックやコンポーネントの再レイアウトと再描画が必要になります(柔軟なレイアウトロジックを実現することは同時に、画面サイズや縦横比が異なるデバイス間でアプリケーションが適切に動作することを意味します)。
次の図では、一般的なモバイルデバイスの回転時における様々な
scaleMode
設定の効果について示します。
この図は、それぞれの拡大/縮小モードで、横長の縦横比から縦長の縦横比に回転する際に発生する拡大/縮小の動作を示しています。縦長から横長への回転でも同様の結果となります。
方向変化イベント
Stage オブジェクトは 2 種類のイベントを送出します。これらのイベントは、方向の変化を検出してそれに対応するために使用できます。自動回転が有効の場合は、ステージの
resize
イベントと
orientationChange
イベントの両方が送出されます。
resize
イベントは、自動回転を使用してディスプレイの直立状態を維持している場合に最適なイベントです。ステージからの
resize
イベントの送出時に、必要に応じてコンテンツの再レイアウトや再描画が実行されます。
resize
イベントは、ステージの拡大/縮小モードが
noScale
に設定されている場合のみに送出されます。
orientationChange
イベントを方向の変化の検出に使用することもできます。
orientationChange
イベントは、自動回転が有効な場合にのみに送出されます。
注意:
一部のモバイルプラットフォームでは、ステージは、resize イベントまたは orientationChange イベントの送出前に、キャンセル可能な
orientationChanging
イベントを送出します。このイベントはすべてのプラットフォームでサポートされているわけではないので、使用を避けてください。
|
|
|