안드로이드 앱을 만들다 보면, 가끔 특정 화면에서 화면 방향을 바꿔야 할 때가 있어요. 게임이나 비디오 앱처럼 사용자가 화면을 가로로 돌리고 싶을 때가 그런 경우죠. 이번 포스트에서는 안드로이드에서 어떻게 간단하게 화면 방향을 바꾸고, 액티비티를 끝낼 때 원래대로 돌아오는지 알려드릴게요!
화면 방향 바꾸기
Activity에서 화면 방향을 바꾸려면 setRequestedOrientation 메소드를 쓰면 돼요. 예를 들어, 가로 모드로 설정하고 싶다면 이렇게 하면 됩니다:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
그리고 다시 세로 모드로 돌리고 싶으면 이렇게 해요:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
현재 화면 방향 체크하고 바꾸기
현재 어떤 방향인지 확인하고 그에 맞게 화면 방향을 바꿔보세요. 아래 코드처럼요:
int orientation = getResources().getConfiguration().orientation;
if (orientation == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
이 코드는 현재 세로 모드면 가로로, 가로 모드면 세로로 화면을 바꿔줍니다.
액티비티 끝날 때 화면 방향 원상복구
Activity에서 화면 방향을 바꾼 후에 사용자가 그 화면을 나가면, 안드로이드 시스템이 알아서 기기의 원래 화면 방향으로 돌려줘요. 그러니까 액티비티가 끝날 때 따로 뭔가 해 줄 필요는 없답니다.
이렇게 화면 방향을 프로그래밍으로 조절하는 건 꽤 유용할 수 있지만, 사용자가 설정한 기본 환경을 방해하지 않도록 주의해서 사용하세요. 화면 방향을 바꾸는 건 쉽지만, 사용자 경험도 중요하니까요!