화면 회전시 리로드하지 않고 내용 유지하기 (Orientation Change Keep Content)
- Posted at 2010. 8. 8. 14:24
- Posted by 루지메이앙
- Filed under 안드로이드/VIEW (UI)
');
}
//-->
|
');
}
//-->
|
안드로이드 화면 회전시 리로드하지 않고 내용 유지하기 (Android Orientation Change Keep Content)
안드로이드는 화면의 orientation 변경시 기본적으로 onDestroy()를 호출 후 onCreate()를 호출하여
해당 화면의 액티비티가 초기화 되며 이것은 아래의 방법을 통해 방지가 가능합니다
주요시스템 변경은 onConfigurationChanged를 이용해 감지할 수 있습니다
- AndroidManifest 에 정의
<activity android:configChanges="orientation|keyboardHidden"></activity>
- configChanges시 관련내용 제어하기
- Configuration
http://developer.android.com/reference/android/R.attr.html#configChanges
http://developer.android.com/reference/android/content/res/Configuration.html
안드로이드는 화면의 orientation 변경시 기본적으로 onDestroy()를 호출 후 onCreate()를 호출하여
해당 화면의 액티비티가 초기화 되며 이것은 아래의 방법을 통해 방지가 가능합니다
주요시스템 변경은 onConfigurationChanged를 이용해 감지할 수 있습니다
orientation: 스크린이 세로에서 가로로 바뀌는것
keyboardHidden: 키보드가 보여지거나 숨겨지는것.
fontScale: 사용자가 원하는 폰트의 크기를 변경하는것.
locale: 사용자가 언어 세팅을 변경하는것.
keyboard: 키보드의 종류가 바뀌는것.
keyboardHidden: 키보드가 보여지거나 숨겨지는것.
fontScale: 사용자가 원하는 폰트의 크기를 변경하는것.
locale: 사용자가 언어 세팅을 변경하는것.
keyboard: 키보드의 종류가 바뀌는것.
- AndroidManifest 에 정의
<activity android:configChanges="orientation|keyboardHidden"></activity>
- configChanges시 관련내용 제어하기
@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); /* // 위 소스만 적용했을때 내용이 유지되고 추가 코드를 입력할때는 아래와 같이 한다 if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) // 가로모드로 변경되었을때 if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) // 키보드가 보여질때 */ }
- Configuration
http://developer.android.com/reference/android/R.attr.html#configChanges
http://developer.android.com/reference/android/content/res/Configuration.html