2012-03-12 4 views
0

이 코드를 사용하여 레이아웃 방향 변경 사항을 감지하지만 다음 코드는 레이아웃 - 랜드에 보관 된 레이아웃 대신 동일한 세로 레이아웃을 사용합니다.Android 방향 변경

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

// Checks the orientation of the screen 
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
    Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show(); 
} 

}

<activity android:name=".MyActivity" 
     android:configChanges="orientation|keyboardHidden" 
     android:label="@string/app_name"> 
+0

[Android 오리엔테이션 변경] (http://stackoverflow.com/questions/4616176/android-orientation-change) 중복 가능 –

+0

무엇을 의미합니까? 방향을 변경할 때 항상 "else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {"의 경우 "portrait"를 표시하고 있습니까? 또는 레이아웃이 변경되지 않습니다? – AndroDev

답변

1

당신이 가 화면 방향을 변경하면서 다음 에서 onCreate 메서드가 호출되지 않습니다 방법의 onConfigurationChanged 오버라이드 (override)하는 경우. 활동이 다시 시작되지 않았습니다. 그래서 당신은 같은 레이아웃을 얻고 있습니다.

당신은 방법의 onConfigurationChanged된 setContentView (R.layout.your_layout)를 호출 할 필요가있다.