본문 바로가기
IT·디지털/IT 개발자 팁

안드로이드 화면 회전 방지 방법 (최신 버전 기준)

by 가을이짱짱 2011. 2. 16.
반응형

안드로이드에서 화면 회전을 방지하는 방법

안드로이드 앱 개발에서 화면 회전은 기본적으로 센서(중력 센서/가속도 센서)를 기준으로 자동 전환됩니다. 하지만 특정 화면을 고정하고 싶을 때는 명시적으로 방향을 지정해야 합니다. 가장 일반적인 방법은 AndroidManifest.xml 파일에서 Activity에 화면 방향을 설정하는 것입니다.

1. 세로 고정(portrait)

특정 Activity를 세로 화면으로 고정하려면 해당 Activity 선언에 다음 속성을 추가합니다.

<activity
    android:name=".SampleActivity"
    android:screenOrientation="portrait" />

이렇게 설정하면 기기를 회전해도 화면이 변화하지 않고 세로 방향으로 고정됩니다.

2. 가로 고정(landscape)

가로 전용 화면이 필요한 경우 다음과 같이 설정합니다.

<activity
    android:name=".SampleActivity"
    android:screenOrientation="landscape" />

게임 화면, 동영상 재생 화면처럼 가로가 자연스러운 UI에서 자주 사용됩니다.

3. Activity마다 개별 설정 필요

Manifest에 설정한 화면 방향은 해당 Activity에만 적용됩니다. 즉, 다른 Activity에는 영향을 주지 않으므로 필요한 화면마다 별도로 설정해야 합니다.

안드로이드 앱에서 화면 회전(Orientation)을 고정하는 개념을 표현한 가로형 일러스트 이미지. 스마트폰의 가로·세로 방향 전환과 화면 고정 아이콘을 포함한 시각적 설명 이미지.
안드로이드에서 화면 회전을 방지하는 방법

4. 최신 안드로이드에서의 주의사항

  • android:screenOrientation은 여전히 유효하지만, 최근 안드로이드에서는 화면 방향과 멀티윈도우/폴더블 기기 대응을 함께 고려하는 것이 중요합니다.
  • 폴더블 기기에서는 화면이 분리되거나 접히는 상태에서 Orientation이 달라질 수 있어, 필요하다면 Activity의 onConfigurationChanged() 처리를 고려해야 합니다.
  • Kotlin 코드에서 동적으로 화면 방향을 고정할 수도 있습니다.

5. 코드에서 동적으로 방향 고정

상황에 따라 화면 방향을 전환하거나 해제해야 한다면 Activity 코드에서 설정 가능합니다.

requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
// 또는
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE

필요 시 실행 중 화면 방향을 잠시 바꿔야 하는 경우 유용합니다.

마무리

안드로이드에서 화면 회전 방지는 Manifest 설정만으로 간단하게 처리할 수 있습니다. 최근 기기 환경(태블릿, 폴더블, 멀티윈도우)을 고려하면 Activity마다 명확한 방향 설정과 상태 변화 처리까지 함께 생각하는 것이 안정적인 앱 개발에 도움이 됩니다.

반응형