본문 바로가기
🖥 Programming/📱 Android (Kotlin)

[Android][kotlin] 코드로 가로, 세로회전 처리하기

by MinChan-Youn 2022. 3. 29.

안녕하세요~ 챠니입니다! :)

kotlin 코드로 가로모드, 세로모드 등 회전처리하는 방법에 대해서 알아보겠습니다.

 

긴 설명 필요없이 바로 코드를 보면서 이해해보겠습니다.

 

 

 

1. 여러 회전(가로, 세로) 처리방법 (XML)

XML파일에서 다음과 같이 설정을 통해 세로(portrait), 가로(landscape) 모드로 고정이 가능합니다.

<activity
    android:name="MyActivity"
    android:screenOrientation="portrait"
></activity>

 

 

 

2. 여러 회전(가로, 세로) 처리방법 (kotlin코드)

requestedOrientationActivityInfo안에 있는 상수를 가지고 설정을 통해 변경이 가능합니다.

 

다음은 많이 사용하는 가로모드, 세로모드 예시를 가지고 알아보겠습니다.

//가로모드
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
//세로모드
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT

 

설정가능한 상수는 다음과 같습니다.

  • SCREEN_ORIENTATION_UNSPECIFIED: 선호하는 모드 없음. 시스템에게 결정권을 준다.
  • SCREEN_ORIENTATION_LANDSCAPE: 가로모드
  • SCREEN_ORIENTATION_PORTRAIT: 세로모드
  • SCREEN_ORIENTATION_USER: 사용자가 선호하는 방향
  • SCREEN_ORIENTATION_BEHIND: 뒤에 있는 액티비티와 같은 방향
  • SCREEN_ORIENTATION_SENSOR: 오리엔테이션 센서 결정
  • SCREEN_ORIENTATION_NOSENSOR: 오리엔테이션 센서 무시
  • SCREEN_ORIENTATION_SENSOR_LANDSCAPE: 가로모드를 선호하지만 센서로 변경 가능
  • SCREEN_ORIENTATION_SENSOR_PORTRAIT: 세로모드를 선호하지만 센서로 변경 가능
  • SCREEN_ORIENTATION_REVERSE_LANDSCAPE: 가로모드를 180도 회전
  • SCREEN_ORIENTATION_REVERSE_PORTRAIT: 세로모드를 180도 회전
  • SCREEN_ORIENTATION_FULL_SENSOR: 네 가지 회전을 모두 허용
  • SCREEN_ORIENTATION_USER_LANDSCAPE: 기본 가로모드, 사용자가 센서로 변경 가능
  • SCREEN_ORIENTATION_USER_PORTRAIT: 기본 세로모드, 사용자가 센서로 변경 가능
  • SCREEN_ORIENTATION_FULL_USER: 사용자 센서 기반 회전 기본 설정, 센서 기반 회전이 활성화된 경우 장치가 정상적으로 수행하는 작업에 관계없이 화면이 가능한 모든 4방향으로 회전하도록 허용(예: 일부 장치는 일반적으로 180도 회전을 사용하지 않음)
  • SCREEN_ORIENTATION_LOCKED: 현재 위치 고정

 

 

*자세한 설명을 알고싶으면 공식문서를 참고하시길 바랍니다.

https://developer.android.com/reference/android/R.attr#screenOrientation

 

R.attr  |  Android Developers

android.view.inputmethod

developer.android.com

 

 

 

 

참고자료

- 참고자료: https://imcreator.tistory.com/60

 

 

질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!

응원의 댓글은 저에게 큰 힘이 된답니다! :)

즐거운 하루되세요!

 

깃허브 보러 놀러오세요 👇 (맞팔환영)

https://github.com/younminchan

 

younminchan - Overview

안드로이드 2년차 개발자 •⚽️/🎤/🥁/🖥/🏃‍♂️/🚴‍♂️/🤟 TechBlog⬇️ minchanyoun.tistory.com - younminchan

github.com