Notice
일상에서 멍때리기
[Android] 화면 전환시 이벤트 받기 본문
반응형
Landscape와 Portrait로 전환시 이벤트를 받아오는 방법에 대한 코드
위와 같이 onConfigurationChanged이벤트를 받아 처리하면 됩니다.
만약 처음 화면에서 Landscape인지 Portrait인지 알아오고 싶다면 onCreate에 다음의 코드를 넣어주면 됩니다.
화면의 정확한 방향을 알아오는 방법
하지만 위의 방법에는 문제점이 있습니다.
기본 portrait에서 왼쪽으로 Landscape한 것과 오른쪽으로 Landscape를 한것의 구분을 할 수 가 없습니다..
이를 구분할 수 있는 방법은 아래의 함수를 구현함으로써 알 수 있습니다. 단 api버전에 따라 아래와 같이 나눠집니다.
2.1 이하
getRotationI()함수가 2.2부터 구현이 되어있기 때문에 2.1이하 에선 방향만 알 수 가 있습니다.
2.2 이상
위의 반환 값인 int이며 각각의 해당 값은 아래와 같습니다.
- Surface.ROTATION_0
- Surface.ROTATION_90
- Surface.ROTATION_180
- Surface.ROTATION_270
또 다른 문제접
허나 모든것이 되는 것 처럼 보이지만 사실 문제점이 하나 있습니다.
그것은 90->270과 같이 같은 방향에 대한 화면전환시의 이벤트가 onConfigurationChanged에서 들어오지 않는 다는 것입니다.
반응형
'프로그래밍 > 삽질로그' 카테고리의 다른 글
NSString에서 파일명 추출하기 (0) | 2014.04.14 |
---|---|
NSMutableArray의 for loop안에서 Item 제거하기 (0) | 2014.04.14 |
NSMutableArray에 NSRect 넣기 (0) | 2014.04.14 |
[cocos2d-x]action moveby, moveto 차이점 (0) | 2014.04.14 |
gcc에서 특정 header file을 모든 파일에 한번에 include하는 방법 (0) | 2014.04.14 |
android activity task stack 확인 방법 (0) | 2014.04.14 |
[mac os x] ssh사용하는 방법 (0) | 2014.04.14 |
[C] 64bit int의 표현(선언)과 출력 (0) | 2014.04.14 |
[mac OS X]Shared Library (dylib) (0) | 2014.04.14 |
mac osx core file (0) | 2014.04.14 |
Comments