2013-08-09 5 views
1

기기 방향을 변경하더라도 콘텐츠보기가 변경되지 않도록 활동을 설정하려고했습니다. 문제는 방향을 변경할 때마다 (세로에서 가로로 또는 가로에서 세로로) 레이아웃이 새로 고쳐지고 다시로드된다는 것입니다. 내 레이아웃이 새로 고쳐지지 않도록하고 싶습니다. 어떻게 그 일을 성취 할 수 있습니까?OnConfigurationChanged가 내 contentview를 다시로드 중입니다.

당신이 LinearLayout 화면 하단에있을 구성한 경우
<activity 
      android:name="com.inturnex.safecam.MainActivity" 
      android:configChanges="orientation|screenSize|keyboardHidden" 
      android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
+0

새로 고침되는 레이아웃에 문제가 있습니까? 안드로이드는 그런 식으로 행동하도록 고안되었습니다. 근본적인 문제가 무엇인지 저희에게 알려 주시면 해결책을 제안 할 수 있습니다. –

+0

@CollinFlynn 레이아웃을 새로 고쳐야하나요? 나는 오리엔테이션이 바뀔 때 나의 배치가 정확하게 동일하길 바란다. – idish

+0

ManifesT에서 선언 된 타겟 및 최소/최대 SDK는 무엇입니까? – g00dy

답변

1

, 그것은으로 이동합니다 : 여기

public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){ 
     Log.d(Global.TAG, "LANDSCAPE"); 
    } 
    if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     Log.d(Global.TAG, "PORTRAIT"); 
    } 

} 

내 활동의 매니페스트입니다 :

는 여기의 onConfigurationChanged 방법입니다 왜냐하면 그것은 안드로이드가 알고있는 한 동일한 위치이기 때문입니다. LinearLayout을 화면 회전 후 화면 하단에 표시하지 않으려면 가로 및 세로 xml을 모두 정의 할 수 있으며 Android는 런타임에 방향에 따라 자동으로 적절한 것을 사용합니다.

Here is the relevant developer guide Android에서 사용할 레이아웃을 알려주는 방법.

+0

감사합니다 ... :) – idish

+0

질문이 있습니다. 세로 모드에서만 사용할 수 있도록 활동을 설정 한 경우 사용자가 가로 모드에서 장치를보고 있는지 감지 할 수 있습니까? – idish

+0

다른 레이아웃을로드 할 때로드 프로세스가 계속됩니다. 내가 원하는 것을 정확히 말해 주겠다. – idish

관련 문제