画面方向

Posted by muchag | Android |
初回投稿:2011-04-05 (火) 17:45:29 | 最終更新:2011-07-07 (木) 17:53:09

Android 端末では
端末自体を傾けることで、
縦長画面と横長画面の両方でアプリケーションを利用できる。

逆に言うと、開発者はそのどちらの画面も意識して開発をしなければならないが
場合によっては、ユーザビリティを踏まえて切り替えて欲しくない場面が出てくる。

そういう場合に有効。

設定
XML の場合
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.         android:orientation="vertical"
  4.         android:layout_width="fill_parent"
  5.         android:layout_height="fill_parent">
  6. <activity android:name="MyActivity" android:screenOrientation="landscape" /> <!-- ここがミソ -->
  7. </LinearLayout>
screenOrientation 内容
unspecified デフォルト値。システム依存
landscape 横置き固定
portrait 縦置き固定
user 不明
behind スタック順序で当該アクティビティのすぐ手前にあるアクティビティに倣う
sensor センサーに従う=ユーザがどう持っているか次第
nosensor センサーを無視=ユーザの持ち方は気にしない

Android Developers:<activity> android:screenOrientation
 

取得
  1. Configuration config = getResources().getConfiguration();
  2.  
  3. // 横長(横持ち)の場合
  4. if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
  5.     /* 処理 */
  6. }
  7. // 縦長(縦持ち)の場合
  8. else if (config.orientation == Configuration.ORIENTATION_PORTRAIT) {
  9.     /* 処理 */
  10. }

 

定義済み定数

横長:Configuration.ORIENTATION_LANDSCAPE
縦長:Configuration.ORIENTATION_PORTRAIT

Posted by muchag | Android |
初回投稿:2011-04-05 (火) 17:45:29 | 最終更新:2011-07-07 (木) 17:53:09

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment