[Android] 액티비티 화면 방향 설정
액티비티 화면은 크게 생각하면 "가로" , "세로" 두가지로 되어있고 폰을 360도 회전한다고 생각했을때 총 4가지의 방향이 있습니다.
보통 매니페스트에서 액티비티 내 속성에 아래와 같이 추가합니다.
<activity android:name=".test" android:screenOrientation="화면방향값"> </activity>
이번 포스팅에는 위의 screenOrientation 의 속성에 대해 정리해볼까 하는데요. 예전에 안드로이드 OS 2.2 (프로요) 개발당시에 봤었던 속성 보다 훨씬 많이 있어서 깜짝 놀랬습니다.
<ScreenOrientation 속성 종류>
속성 |
설명 |
unspecified |
기본값. 시스템에서 방향을 결정합니다. 선택된 디바이스마다 방향은 달라질 수 있습니다. |
behind |
액티비티 스택에서 이전의 액티비티 방향과 같은 방향을 표시합니다. |
landscape |
액티비티를 가로 방향으로 고정할때 사용됩니다. |
portrait |
액티비티를 세로 방향으로 고정할때 사용됩니다. |
reverseLandscape |
가로방향 고정, 일반적인 방향에서 역방향으로 표시합니다. (API 9 [OS ver 2.3] 추가) |
reversePortrait |
세로방향 고정, 일반적인 방향에서 역방향으로 표시합니다. (API 9 [OS ver 2.3] 추가) |
sensorLandscape |
가로방향 고정, 센서에 따라 정/역방향으로 표시합니다. (API 9 [OS ver 2.3] 추가) |
sensorPortrait |
세로방향 고정, 센서에 따라 정/역방향으로 표시합니다. (API 9 [OS ver 2.3] 추가) |
userLandscape |
가로방향 고정, 센서 장치 및 사용자 센서 기본설정에 따라 정/역방향으로 표시될 수 있습니다. 만약 센서 기반 회전 기능이 고정되어 있는 경우에는 landscape와 동일하게 동작하고 그렇지 않으면 sensorLandscape와 동일하게 동작합니다.(API 18 [OS ver 4.3] 추가) |
userPortrait | 세로방향 고정, 센서 장치 및 사용자 센서 기본설정에 따라 정/역방향으로 표시될 수 있습니다. 만약 센서 기반 회전 기능이 고정되어 있는 경우에는 portrait와 동일하게 동작하고 그렇지 않으면 sensorPortrait와 동일하게 동작합니다.(API 18 [OS ver 4.3] 추가) |
sensor | 방향은 기기 회전 센서에 의해 결정됩니다. 화면 방향은 사용자가 기기를 회전시킬때 변경되며 일부 장치에서는 4가지 방향으로 회전하지만 기본적으로 4가지 방향으로 회전하지 않습니다. 4방향을 모두 허용하려면 fullSensor 를 사용해야합니다. |
fullSensor | 방향은 4 방향 중 하나의 기기 방향 센서에 의해 결정됩니다. (API 9 [OS ver 2.3] 추가) |
nosensor | 방향은 물리적인 센서를 참조하지 않고 결정됩니다. 센서가 무시되므로 화면은 사용자가 움직이는 방법을 기반하지 하지 않습니다. 이 차이점을 제외하고 시스템은 unspecified 와 동일한 규정을 사용하여 방향을 선택합니다. |
user | 사용자가 현재 선호하는 방향을 표시합니다. |
fullUser | 센서 기반 회전 기능이 잠긴 경우에는 user 와 동일한 기능으로 동작하고, 그렇지 않을때에는 fullSensor와 동일하게 동작합니다.(API 18 [OS ver 4.3] 추가) |
locked | 무엇이든지 현재의 회전으로 방향을 잠급니다.(API 18 [OS ver 4.3] 추가) |
보통 ScreenOrientation 옵션은 화면을 고정할때 사용하는 옵션이므로 위의 표에서 landscape, portrait 속성을 가장 많이 사용합니다.
위의 설명글은 구글플레이 레퍼런스 사이트를 참고하여 해석한 부분인데요. 내용이 이상한 부분 있으시면 댓글로 말씀해주시면 감사하겠습니다.
'개발자 > Android' 카테고리의 다른 글
[Android] Notification Icon Size (1) | 2015.04.03 |
---|---|
[Android] error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute? (0) | 2014.11.13 |
[Android] 앱 위젯(AppWidget) 1개만 생성하기 (0) | 2014.04.14 |
[안드로이드] 화면 크기 구하기 (0) | 2012.01.15 |
<Android> 안드로이드 리스트 뷰를 내 맘대로 사용하자(커스텀 리스트뷰) (49) | 2012.01.03 |
댓글