본문 바로가기
개발자/Android

[Android] 액티비티 화면 방향 설정

by Alex.K 2014. 5. 8.
반응형

[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 속성을 가장 많이 사용합니다.


위의 설명글은 구글플레이 레퍼런스 사이트를 참고하여 해석한 부분인데요. 내용이 이상한 부분 있으시면 댓글로 말씀해주시면 감사하겠습니다.

반응형

댓글