반응형

안드로이드 개발을 하다보면 가장 오류가 많이 발생하는 부분이 바로 화면 회전(Screen Rotation) 입니다. 이는 액티비티의 생명주기가 onDestroy 됐다가, 다시 onCreate 되기 때문인데요.
savedStateInstance나 ViewModel을 적절하게 활용하지 않았다면 앱이 죽어버리거나 회전하기 이전의 데이터를 잃어버리기 일쑤입니다.

그렇다면 화면 회전으로 인해 발생하는 문제에 대해 해결할 수 있는 방법은 두 가지겠지요.

  1. SavedStateInstance 또는 ViewModel을 잘 활용한다.
  2. 회전을 못하게 막는다.

사실 문제를 발생시키는 경우가 아니더라도, 굳이 사용자에게 내 앱이 회전하도록 허락하지 않고 싶을 때가 있습니다. 아무래도 세로모드를 기준으로 레이아웃을 디자인 했기 때문이지요.

따라서, 회전을 못하게 막는 방법에 대해 말씀드리겠습니다.

엄청 간단합니다. AndroidManifest.xml 파일을 찾아 가셔서 내가 회전을 방지하고자 하는 액티비티에 한 줄만 추가해주면 됩니다.

<activity android:screenOrientation="portrait"> // 세로 모드
<activity android:screenOrientation="landscape"> // 가로 모드

"portrait"으로 설정한다면 세로모드로 고정이고, 가로모드로 고정하고 싶다면 "landscape"를 입력해주시면 됩니다.
참고로, <activity> 안에 android:screenOrientation 이외의 android:name 등에 대해서는 생략한 것이니 오해 않으시기 바랍니다.

반응형
반응형