댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Android
2024.10.08 10:27
configChanges : 화면이 회전해도 상태는 유지
조회 수 27 댓글 0
android:configChanges="screenLayout|screenSize|smallestScreenSize|density|orientation|layoutDirection|locale|fontScale"
이 acitivity에는 configChanges로 keyboardHidden, orientation, screenSize의 3가지가 지정되었다. keyboardHidden은 키보드를 띄우고 다시 숨길 때 설정을 유지하겠다는 뜻이고, orientation은 화면의 가로모드/세로모드가 전환될 때 설정을 유지하겠다는 뜻이다. 화면이 회전할 때에는 orientation 외에 screenSize 속성도 함께 설정해 주어야 정상적으로 적용된다.
이렇게 설정해 준 이후에 액티비티를 실행하고 화면을 전환해 보면 액티비티가 리셋되지 않고 돌아가기만 하는 것을 볼 수 있다.
onConfigurationChanged()configChanges를 설정해 준 값들에 대해서는 onDestroy() -> onCreate() 대신 onConfigurationChanged()가 호출된다. 따라서 만약 화면 전환에 따라 layout을 다르게 바꿔 주고 싶다면 이 메서드를 오버라이딩해서 수정하면 된다.
예를 들어 위와 같이 onConfigurateionChanged 함수 안에서 orientation 변경 시에 실행할 내용을 설정해 줄 수 있다. 이 코드에서는 resources.configuration.orientation이 가로(ORIENTATION_LANDSCAPE)일 경우에는 그리드 레이아웃을, 세로(ORIENTATION_PORTRAIT)일 경우에는 리니어 레이아웃을 선택하는 방식으로 화면 구성을 변경하였다. 출처: https://holika.tistory.com/entry/내-맘대로-정리한-안드로이드-configChanges-화면이-돌아가도-상태는-유지하고-싶어요 Dreamy의 코드 스크랩내가 모으고 내가 보는
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5