2011-03-09 6 views
1

화면에 타이머가 표시됩니다.가로 모드의 방향 문제

타이머를 시작한 후 방향을 가로 모드에서 가로 모드로 변경합니다. 가로 모드로 세로로 변경할 때 리셋을 받고 타이머를 피하기 위해, 나는 매니페스트에서 활동 선언에 다음 코드를 추가하고 :

android:configChanges="orientation" 

을 내가 직면하고 문제는, 때 그 화면이 세로 모드에서 가로 모드로 전환되는 경우 표시되는 레이아웃은 가로 모드가 아닌 세로 & 세로와 같습니다. 가로 방향 화면의 일부만 사용되고 있습니다.

타이머를 세로 모드에서 가로 모드로 변경하는 것을 피할 수있는 방법이 있습니까 &에도 적절한 가로 레이아웃이 있습니까?

귀하의 의견을 친절하게 제공하십시오.

미리 감사드립니다.

답변

2

이 작업을 수행하는 간단한 방법이 있습니다.

  • 는 가로 및 세로에 대한 두 개의 서로 다른 레이아웃이있는 경우 다음 안드로이드가 당신을 위해 모든 물건을 처리 할 수 ​​있습니다. 난 엄격하게 필요하지 않는 한 android : configChanges = "orientation"을 추가하지 않는 한 onConfigurationChange() 메소드를 재정의 (override)하지 말라는 뜻입니다. 세로 모드와 가로 모드에 대해 서로 다른 폴더를 만드십시오. 즉. 레이아웃 및 레이아웃 토지 ...

  • 현재 상태를 저장하려면 번들을 사용하십시오. 방향이 변경 될 때마다 안드로이드는 액티비티를 다시 불러오고 onCreate() 메소드를 호출한다. 이 저장된 번들은 onCreate() 메소드에서 전달됩니다. 이제이 번들에서 뷰의 상태를 검색 할 수 있습니다.

다음 질문은이 번들을 사용하는 방법입니다. Then here is the quick example.

번들을 저장하는 onSavedInstanceState() 메소드를 대체하십시오.

감사합니다.

0

우리가 에서 가로 모드로 초상화를 변경에서 타이머를 재설정 을 피할 수있는 방법이 있습니까?

예, onPause 중에 어딘가에 값을 저장하고 onResume 중에 읽습니다.

또한도 아주 좋은 페이지에 대한 handling runtime changes로 연결 특정 테이블 2의 "화면 방향"절에 Providing Resources 읽기 최대 적절한 가로 레이아웃

을 보유하고 있습니다.

0

당신이 풍경을 가지고 이름 만 양식에 자동 센서를 끄는 screenOrientation = "풍경"

<activity android:name=".main" 
       android:label="@string/app_name" 
       android:screenOrientation="landscape"> 
     <intent-filter> 

을 설정 매니페스트 파일을하기 만하면됩니다.