2011-04-18 3 views
0

나는 안드로이드에서 일하고있다. 탭이나 전화를 돌릴 때 응용 프로그램이 다시 시작되지 않도록 다음 코드를 시도합니다. 작동하지만 가로 및 세로보기를 올바르게 제공하지 않습니다. 사실안드로이드 타블렛의 풍경과 인물 모습

android:configChanges="keyboardHidden|orientation" 

답변

2

, 매니페스트에 Activity 선언의

  android:configChanges="orientation" 
      android:screenOrientation="landscape" 

속성 때마다 방향 변경을 재현되는 것을 활동을 방지하지 않습니다, 그것은에 의해 방향에 아무것도에서 플랫폼을 방지 기본값이며 기본값으로 유지합니다. 예 경치.

당신은

public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    setContentView(R.layout.newLayout); 
} 

이 활동의 ​​휴양을 강제로 대체 할 수 있습니다.

1

레이아웃이 2 개 (세로 및 가로) 인 경우 태블릿에서 순서가 반대로 표시되면 getOrientation 대신에 getRotation을 사용하도록 전환하십시오. 이 같은 것이

private void setLayout() { 
    // Get display for detecting the phone orientation 
    final Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); 
    if (display.getRotation() == Surface.ROTATION_0 || display.getRotation() == Surface.ROTATION_180) { 
     setContentView(R.layout.home); 
    } else { 
     setContentView(R.layout.home_l); 
    } 
} 
관련 문제