2011年6月28日火曜日

Android端末の画面の向きを固定する2つの方法

このエントリーをはてなブックマークに追加
Android端末を傾けても画面を一定の向きで固定しておく方法を調べました。その方法は2つあります。ひとつはAndroidManifest.xmlで静的に向きを設定する方法、もうひとつはActivityクラスのsetRequestOrientationメソッドで動的に向きを設定する方法です。


AndroidManifest.xmlで静的に設定する方法
activityタグのandroid:screenOrientationに向きを表す属性値を設定することで、端末の向きを固定できます。

設定例
<activity android:name=".ScreenTest"
          android:label="@string/app_name"
          android:screenOrientation="landscape">

android:screenOrientationの属性値には次のものがあります。
landscape:横固定
portrait:縦固定
user:ユーザの現状態

【属性値の詳細】
http://developer.android.com/intl/ja/guide/topics/manifest/activity-element.html#screen


setRequestOrientationで動的に設定する方法
例えば次のように設定します。
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

引数には次のようなパラメータを設定します。
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:横固定
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:縦固定
ActivityInfo.SCREEN_ORIENTATION_USER:ユーザの現状態

【設定値の詳細】
http://developer.android.com/intl/ja/reference/android/content/pm/ActivityInfo.html#SCREEN_ORIENTATION_BEHIND

0 件のコメント:

コメントを投稿