티스토리 뷰
안드로이드는 액티비티에서 어떠한 변화가 발생하면 액티비티가 다시 실행됩니다.
그러니깐 방향을 가로에서 세로 방향으로 전환했다던가
키보드의 활성화 여부에 따라
액티비티의 레이아웃을 다시 그리게 됩니다.
어플리케이션의 개발자 혹은 기획자의 의도는
단지 방향만 전환했을뿐이고, 단지 키보드의 상태 변화만 생겼을때는
아무런 변화없이 레이아웃만 가로에서 세로로 혹은 세로에서 가로로 유동적으로 변경되었으면 하는 경우가 많습니다.
이때 configChanges 속성을 이용할 수 있습니다.
<activity
android:name="ListActivity"
android:configChanges="orientation|keyboard"
>
</activity>
configChanges 속성값에 정의된 설정 변경에 대해서는 안드로이드는 액티비티를 다시 실행하지 않습니다.
위의 예제에서는 orientation(방향변화), keybard(키보드상태변화)의 configChanges가 발생해도
액티비티를 다시 실행하지 않게 됩니다.
좀 더 많은 속성은 개발자 문서에서 찾아볼 수 있습니다.
스크린사이즈 변화라던가, 폰트스케일이 변경했다던가 다른 여러 변화상태들이 있습니다.
안드로이드 개발자 문서에서는 이 속성에 대해서 다음과 같은 주의를 주고 있습니다.
이 속성을 사용하는것은 피하는 것이 좋으며, 최후의 수단으로 사용해라. 런타임상태에서의 변화 핸들링 하기 문서에 설정 변경에 따른 적절한 처리에 대한 자세한 내용이 담겨있다.
해당 문서에서 구글이 권장하는 방법은 onConfigurationChanged 메소드를 오버로드해서
런타임상태에서 환경변화를 감지하여 이에 맞춰 대응하는 방법을 권장하고 있네요.
'스마트폰 > 안드로이드' 카테고리의 다른 글
안드로이드 어플리케이션 퍼미션 추가해보기 (1) | 2012.10.16 |
---|---|
안드로이드 타이틀바 없애기 (0) | 2012.10.15 |
ListView의 버튼이 클릭이 되지 않아요 (0) | 2012.10.11 |
뒤늦게 쓰는 구글 두번째 레퍼런스폰 넥서스S 후기 (0) | 2012.10.10 |
왔다네 왔다네, 넥서스7이 배송이 왔다네 (0) | 2012.10.08 |
- Total
- Today
- Yesterday
- 네이버
- 스마트폰
- 안드로이드
- 아이디어
- 애플
- 웹표준
- CSS
- 어플리케이션
- 벤처
- AWS
- php
- JavaScript
- android
- Apple
- 경진대회
- 창업
- 앱스토어
- 모바일
- 게임
- 트위터
- iPhone
- 구글
- 대학생
- 공모전
- 앱
- 아이폰
- 소프트웨어
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |