2016-08-09 14 views
1

Android 앱이 있으며 레이아웃은 가로 및 세로로 사용할 수 있습니다.Android에서 ActionBar을 수동으로 다시 그립니다.

일부 활동에는 많은 입력과 선택이 있으며 전화를 돌리더라도이를 유지하려고합니다.

나는 나의 매니페스트에 Activity이 추가 : 세로에서 가로로 회전하고 모든 것을 내 ActionBar의 크기/TEXTSIZE를 제외하고 좋아 보인다 때

android:configChanges="orientation|screenSize|keyboardHidden|keyboard" 

입력이 유지됩니다. 그것은 변하지 않습니다. 가로 모드에서 Activity을 시작하면 텍스트 크기가 작지만 물론 세로 모드로 돌아갈 때 커지지는 않습니다.

ActionBar (예 : 등)을 다시 그리거나 모든 입력을 쉽게 유지할 수있는 방법이 있습니까?

+0

툴바를 사용하여 손쉽게 제어 할 수 있습니다. –

답변

1

이 경우 configChanges을 사용하는 것은 실제로 바람직하지 않습니다.

예, 오리엔테이션 변경시 입력 내용과 상태가 유지되지만 다른 이유로 인해 Activity을 다시 만들 수 있습니다. 예를 들어 앱이 백그라운드에 있고 OS가 메모리를 회수하기 위해 죽이려고 결정한 경우 당신은 그것으로 돌아 간다.

앱을 다시 열면 OS가 떠난대로 Activity을 다시 만들려고 시도하지만 실패하게됩니다 (대부분 충돌이 발생할 수 있음).

configChanges 속성을 사용하는 대신 onSaveInstanceState()에 내용을 저장하고 Bundle에서 복원하십시오 (onCreate()).

이 주제에 대한 developer's guide을 확인하십시오.