화면 회전(rotation) 처리
안드로이드는 기본적으로 화면 회전에 대한 처리를 자동으로 해주고 있다.
하지만 Activity를 종료하고 다시 실행 시키는 방식이기 때문에 onCreate 함수가 매번 불리게 되며 데이터가 유지 되지 않는 문제가 있다.
* 안드로이드가 화면 처리를 하고 데이터만 유지하는 방법
asfasdfasdfa
* 사용자가 직접 화면 처리를 하는 방법
1. AndroidManifest.xml의 activity에 다음 항목을 추가
android:configChanges="keyboardHidden|orientation|screenSize"
- 만약 screenSize가 빠질 경우 onCreate 함수가 불려지니 주의
2. onConfigurationChanged 함수 오버라이드
if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // 세로 전환시 발생
setContentView(R.layout.XXXX_vertical); // 세로 방향에서 사용할 레이아웃
} else if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // 가로 전환시 발생
setContentView(R.layout.XXXX_horizontal); // 가로 방향에서 사용할 레이아웃
}
3. onCreate 함수 오버라이드
if( this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.XXXX_vertical); // 세로 방향에서 사용할 레이아웃
} else {
setContentView(R.layout.XXXX_horizontal); // 가로 방향에서 사용할 레이아웃
}
* 화면을 고정하는 방법
AndroidManifest.xml의 activity에 다음 항목을 추가
android:screenOrientation="portrait" // 세로 모드
android:screenOrientation="landscape" // 가로 모드
'프로그래밍 > Android' 카테고리의 다른 글
화면 꺼짐 방지, 슬립모드 방지, Screen On (0) | 2013.08.06 |
---|---|
타이틀바 없애기, 상태바 없애기, Full Screen 모드 만들기 (0) | 2013.06.20 |
JNI/자바 배열을 C배열로 변환하는 방법 (0) | 2013.06.12 |
JNI/네이티브 코드에서 자바 메서드 호출 방법 (0) | 2013.06.12 |
JNI/네이티브 변수 타입 비교 표 (0) | 2013.06.12 |