아무처리 안해도 화면 돌아가는데 반응은 한다. 그런데 매번 Activity의 onCreate()가 다시 불리는 구조.
만약 onCreate()가 매번 불리는게 싫다면 여기 참조
화면 전환 이벤트를 처리하고 싶다면 onConfigurationChanged()를 overide하면 되는데 여기 참조
단!, 위 링크대로 하면 onConfigurationChanged()가 안불리고, 여기에 있는대로 API level 13이상에서는 screenSize를 추가 해줘야 한다.
원래는 landscape용 화면 xml을 별도로 만들어 주면 좋다.
여기 참조
소스코드 상에서 현재의 orientation을 알아오는데는 다음처럼 하면된다.
(상수값을 직접 만들어 써야해서 조금 지저분 하다.)
(참고로 ORIENTATION_180으로는 핸드폰 돌려도 들어오지 않았다.)
final int ORIENTATION_0 = 0;
final int ORIENTATION_90 = 1;
final int ORIENTATION_180 = 2;
final int ORIENTATION_270 = 3;
Display display = ((WindowManager)mc.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int orientation = display.getRotation();
switch (orientation)
{
default:
case ORIENTATION_0: // Portrait
//dostuff
System.out.println("orientation ORIENTATION_0");
break;
case ORIENTATION_90: // Landscape left
//do stuff
System.out.println("orientation ORIENTATION_90");
break;
case ORIENTATION_180: // Upside down.
//do stuff
System.out.println("orientation ORIENTATION_180");
break;
case ORIENTATION_270: // Landscape right
//do stuff
System.out.println("orientation ORIENTATION_270");
break;
}
참조할 만한 링크는 여기 이다.
emulator
AVD(emulator) portrait/landscape 전환 : Ctrl + F11
근데 2.3이나 4.4버전의 경우는 화면 전환시 버그가 있다고 한다. (나도 경험)
'Programming' 카테고리의 다른 글
| Python 디스크립터 이해하기: __get__, __set__, 속성 접근 제어 (0) | 2026.05.26 |
|---|---|
| C++ 약수 구하기 방법: 완전 탐색과 O(sqrt(N)) 최적화 (0) | 2026.05.26 |
| NumPy reshape 사용법과 NaN 검사: 배열 차원 변환과 np.isnan (0) | 2026.05.26 |
| Pytorch (0) | 2026.05.22 |
| 확률론 - 조건부확률 (0) | 2026.05.22 |





