サイト移転のお知らせ:http://techbooster.org/に移転しました

画面の逆向きを設定する

12月 20, 2010   //   by kei_i_t   //   ユーザインターフェース  //  No Comments

Android SDK 2.2までは画面の向きが縦と横のみサポートされていましたが、Android SDK 2.3からは縦と横の逆向きもサポートされるようになりました。

ですが、現在のエミュレータでの[Ctrl] + [F12]の操作では縦と横のみサポートされている為、縦と横の逆向きの動きを確認するにはソースコードで設定する必要があります。

詳細は以下から。

Android SDK 2.3からActivityInfoクラスに以下の定数が追加されました。

SCREEN_ORIENTATION_FULL_SENSOR 全ての向きを表す定数
SCREEN_ORIENTATION_REVERSE_LANDSCAPE 横の逆向きを表す定数
SCREEN_ORIENTATION_REVERSE_PORTRAIT 縦の逆向きを表す定数
SCREEN_ORIENTATION_SENSOR_LANDSCAPE 横と横の逆向きを表す定数
SCREEN_ORIENTATION_SENSOR_PORTRAIT 縦と縦の逆向きを表す定数

この中から、今回は画面を縦の逆向きと横の逆向きに固定するためにSCREEN_ORIENTATION_REVERSE_LANDSCAPEとSCREEN_ORIENTATION_REVERSE_PORTRAITを使用します。

まずは縦の逆向きを設定する為のサンプルです。

ReversePortrait.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //画面の向きを縦の逆向きにする
    this.setRequestedOrientation(ActivityInfo.
        SCREEN_ORIENTATION_REVERSE_PORTRAIT);
}

setRequestedOrientationメソッドにActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAITを引数として渡すことで縦の逆向きを設定することができます。

次に横の逆向きを設定する為のサンプルです。
ReverseLandscape.java

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //画面の向きを横の逆向きにする
    this.setRequestedOrientation(ActivityInfo.
        SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
}

setRequestedOrientationメソッドにActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAITを引数として渡すことで横の逆向きを設定することができます。

関連する記事:

Sponsored Link

Comments are closed.

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です