티스토리 뷰
Android 사용하다보면 화면 회전을 하게 됩니다. 따라서 개발하다보면 화면 회전에 따른 이벤트를 필요하게 되는데 현재 회전 되었는지 확인하는 방식은 다음과 같다.
1. 현재 회전 상태 체크
1 2 3 4 5 | if(getWindowManager().getDefaultDisplay().getRotation() == Surface.ROTATION_90) { //가로 모드 일 때 }else{ //세로 모드 일 때 } |
기존에는 .getOrientation() 으로 체크하였으나 최근에는 .getRotation()을 사용하고 있습니다. 리스너로 확인 할 수 있습니다.
getWindowManager().getDefaultDisplay().getOrientation()
getWindowManager().getDefaultDisplay().getRotation()
2. 화면 회전 시 리스너
위의 두 가지를 사용하면 기본적은 안드로이드 회전에 대한 코딩은 가능 할 것입니다. 밑에 코드는 강제 회전하는 코드 입니다.
1 2 3 4 5 6 7 8 9 10 11 | @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); switch (newConfig.orientation){ case Configuration.ORIENTATION_LANDSCAPE: //가로 모드 case Configuration.ORIENTATION_PORTRAIT: //세로 모드 break; } } |
3. 화면 보여주는 방식 세팅
1) In Code
//가로 모드 세팅
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
//세로 모드 세팅
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
2) In manifests
android:screenOrientation=
["unspecified" | "behind" |
"landscape" | "portrait" |
"reverseLandscape" | "reversePortrait" |
"sensorLandscape" | "sensorPortrait" |
"userLandscape" | "userPortrait" |
"sensor" | "fullSensor" | "nosensor" |
"user" | "fullUser" | "locked"]
4. 정리
화면 회전 방식은 소스 또는 manifests 에서 설정 가능하며, 상태 체크하여 화면에 따른 다른 이벤트 처리가 가능합니다.
참조
https://developer.android.com/guide/topics/manifest/activity-element.html?hl=ko
'프로그래밍 > Android' 카테고리의 다른 글
[Android] Full Screen 모드 전환 (0) | 2017.12.18 |
---|---|
[Android] [버그이슈] 앱 빌드 시도 시 아무런 동작 안하는 이슈 (0) | 2017.12.18 |
[Android] 해상도에 따른 UI 구성에 필요한 도구 (0) | 2017.12.18 |
[Android] 안드로이드 빌드 시 리소스 자동화(android build automated resources) (0) | 2017.12.18 |
[Android] 회전 ViewPager (Carousel ViewPager) (5) | 2017.12.18 |
- missioon
- 선교
- RXjava
- DI
- Kotlin
- IT
- 탁구
- missionchina
- flutter
- MCC
- 디자인패턴
- 고시문헬퍼
- issue
- 임용고시
- swift
- 고시문
- 점수판
- Android
- 안드로이드
- Android Studio
- 코틀린
- java
- view
- push
- 알고리즘
- 미션차이나센터
- IOS
- 패턴
- 스코어헬퍼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |