雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

わんくま東京勉強会 #64 アフターフォロー (10) : Display Orientation


スマートフォンには、持つ方向によって縦長 (Portrait) と横長 (Landscape) の 2 パターンの表示方法があります。
Windows Phone SDK を使用してアプリケーションを作成すると、通常は Portrait 固定で作成されます。

この状態だと端末を横向きにした際にもアプリケーションの画面が縦長表示のままとなるため、作成する側は横長レイアウトを考慮する必要がなく楽ですが、使用する側は表示方向が合わなくなるため場合によっては使い勝手の悪いアプリケーションと感じてしまいます。

横長 (Landscape) 表示への対応方法

PhoneApplicationPage の SupportedOrientations プロパティを PortraitOrLandscape に設定する事で、端末を横向きにした際に横長 (Landscape) 表示に切り替わる様になります。
この際、コントロールの位置・サイズが再計算されて画面が再構築されます。
但し、 Canvas を使用したりコントロールの位置を絶対座標で指定しているとリサイズ時にうまく表示されない事がありますので、注意が必要です。
なお、 SupportedOrientations プロパティが PortraitOrLandscape の場合、表示方向変更時に OrientationChanged イベントが発生するので、このイベントを使用して制御を行う事も出来ます。