안녕하세요~ 챠니입니다! :)
kotlin 코드로 가로모드, 세로모드 등 회전처리하는 방법에 대해서 알아보겠습니다.
긴 설명 필요없이 바로 코드를 보면서 이해해보겠습니다.
1. 여러 회전(가로, 세로) 처리방법 (XML)
XML파일에서 다음과 같이 설정을 통해 세로(portrait), 가로(landscape) 모드로 고정이 가능합니다.
<activity android:name="MyActivity" android:screenOrientation="portrait"></activity> |
2. 여러 회전(가로, 세로) 처리방법 (kotlin코드)
requestedOrientation을 ActivityInfo안에 있는 상수를 가지고 설정을 통해 변경이 가능합니다.
다음은 많이 사용하는 가로모드, 세로모드 예시를 가지고 알아보겠습니다.
//가로모드
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
참고자료
- 참고자료: https://imcreator.tistory.com/60
질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!
응원의 댓글은 저에게 큰 힘이 된답니다! :)
즐거운 하루되세요!
깃허브 보러 놀러오세요 👇 (맞팔환영)
https://github.com/younminchan
'🖥 Programming > 📱 Android (Kotlin)' 카테고리의 다른 글
[Android] 코드 전체검색 및 코드 전체 변경 (0) | 2022.04.14 |
---|---|
[Android] Execution failed for task ':app:signReleaseBundle'. / Cannot recover key 오류 및 해결방법 (0) | 2022.04.07 |
[Android] Execution failed for task ':app:processDebugGoogleServices'. 오류 해 (0) | 2022.03.31 |
[Android][kotlin] 진동 울리기 (0) | 2022.03.29 |
[Android][kotlin] Firebase Crashlytics 연동방법 (0) | 2022.03.24 |
[Android][kotlin] Firebase Android App 등록방법 (0) | 2022.03.24 |
[Android] Firebase 프로젝트 추가방법 (0) | 2022.03.24 |
[Android][kotlin] 상단 바[타이틀(Title), 바(Bar) , 탭(Tab)] 없애기 (0) | 2022.03.16 |