2013-07-31 1 views
3

오리 엔테이션 테스트를위한 샘플 프로그램을 생성했습니다. 세로 모드와 나는 다른 방향으로 전화를 기울이면 내 샘플 앱이 reversePortrait를 원한다. 다음onConfigurationChanged가 안드로이드에서 언제든지 호출되지 않습니다

onConfigurationChanged(Configuration newConfig) 

나는 시도했다 :

android:configChanges="orientation" 

도이

시도

@Override 
public void onConfigurationChanged(Configuration newConfig) 
{ 
    super.onConfigurationChanged(newConfig); 

    Configuration c = getResources().getConfiguration(); 

    Log.e("Config",""+c); 

    if (c.orientation == Configuration.ORIENTATION_PORTRAIT) 
    { 
     // portrait 

     Log.e("On Config Change","portrait"); 

    } 
    else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE) 
    { 
     // landscape 
     Log.e("On Config Change","LANDSCAPE"); 

    } 
} 

manifest.xml -이에 대한 질문을 많이 읽은 후 체격 우리는 사용이 필요합니다

android:configChanges="orientation|screensize" 

이상한 OnConfigurationChange 메서드 내부에 로그를 얻지 못했습니다.

확실하지 않습니다. 여기에 어떤 문제가 있습니까?

나는 API 광고를 대상으로 18

누군가가 이것 좀 도와 줄래 최소 API 8을 사용하고?

감사합니다. 나는 (그것이 내가 19 대상 API를 변경 한 후 동일한 문제가 있었다 당신에게

+0

기기에서 화면 방향이 사용 설정되어 있습니까? –

+0

어떻게 반전 초상화를합니까? 반전 세로 모드로 강제로 코드를 게시 할 수 있습니까? 당신은 그것을하기 위해'setRequestedOrientation' 함수를 사용합니까? 그렇다면 일단이 기능을 사용하면 방향 변경을받을 수 없습니다. –

+0

@NikolaDespotoski - 예. 사용할 수 있습니다. – TheDevMan

답변

0

이 코드는 아무 문제가 manifest.xml 안드로이드를 수정하지 입니다) 당신은 17

내 속성처럼 보이는 버전보다 더 높은 목표를 위해 layoutDirection 속성을 추가해야합니다

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|layoutDirection" 

T 그는 'layoutDirection'을 추가하는 것입니다.

+0

내게 묻는 매니 페스트 변경 사항은 Api에 대해 12 개 이상 허용됩니다. 은 현재 Api 8 이상을 타겟팅합니다. – TheDevMan

4

을 도울 수있는 4.4 킷캣 희망 | configChanges는 "keyboardHidden는 방향"=

2

방금이 문제가 발생하여이 이상한 트릭으로 해결했습니다.

설정하여 매니페스트에 screenOrientation, 그래서 같은 : 나를 위해 그것을 고정

android:screenOrientation="sensor" 

.

관련 문제