【Android開発】画面の回転について調べてみた(固定する)

画面を固定にしたくて調べたメモ。

基本はマニフェストXMLにscreenOrientationを記述すれば固定される。

<activity android:name=".TestActivity" android:label="@string/app_name" android:screenOrientation="portrait"/>

設定する値はこちらを参照。

参考:Android Wiki 画面の向き(ScreenOrientation)

さらに回転した後に再描画するときはonStopで値をPreferenceManager.getDefaultSharedPreferencesとかで格納しておいて、onCreateしたときにsavedInstanceStateがnullになっているかif文で判断すれば出来るみたい。

あと、他のintentを呼び出しておいて、戻ってきたときに画面が横向きか縦向きかを判断して、プログラミングから画面を回転させるには次のようにやる。

Configuration config = getResources().getConfiguration();
if(config.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
	this.setRequestedOrientation(Configuration.ORIENTATION_PORTRAIT);
}

これは横向きだったら縦向きにする例。