programmer/android

가로/세로 모드

ocsoosoo 2011. 8. 2. 00:03


※ 가로/세로 모드 변경시 Oncreate()를 다시 수행하게 된다. Activity가 종료 후 재시작하는 것인지 확인 안됨.

1. AndroidManifest.xml에서 해당 activity 옵션에서 사용할 모드로 고정한다.
        <activity android:name=".GMsgMain"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait"> //또는 android:screenOrientation="landscape"

2. 원하는 위치에서 함수를 통해 설정한다.
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

3. 가로/세로 모드 변경에 따라 처리하고자 할때는
아래 코드와 같이 액티비티 코드 내에 onConfigurationChanged() 함수를 오버라이딩하여 사용한다.
 
  @Override
  public void onConfigurationChanged(Configuration newConfig) {
     super.onConfigurationChanged(newConfig);
   if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
   } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
   }
  }