마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

가로세로 전환시 가로모드와 세로모드 layout 업데이트 좀 알려주세요...

0 추천
AndroidManifest.xml 에 android:configChanges="orientation" 적용시켜놓은상태로

layout-land 변경할 파일을 넣어놨고요..

가로세로 전환할때마다 layout을 가로모드에 맞는 layout을 보여주고 세로모드에 맞는 layout을 보여주고 싶은데요.

android:configChanges="orientation" 빼면 되긴하지만 넣어둔채로 개발한상태라 빼면

일이 많아져서 넣어둔채로 수정하고싶습니다.

첨에 진입할때나 다른메뉴갔다가 오면 정상적으로 layout-land의 layout을 보여주고있습니다.

가로 layout에서 세로로 돌리면 가로 레이아웃을 그대로 보여주고있습니다.ㅠㅠ

어떻게 하면 될까요?
활강 (320 포인트) 님이 2014년 2월 12일 질문

1개의 답변

0 추천

configChanges = "orientation" 옵션을 넣지 않는다면 orientation이 변경 될 때 마다

activity가 재생성되어 layout-port, layout-land 만으로 알아서 꺼내 뷰를 구성하겠지요...

넣었다면 onConfigurationChanged를 호출 해줘서 액티비티 스스로 환경에 대한 핸들링을 할 수 있도록 해주죠.

 

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

//setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    //setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

 

와 같이 콜백될때 스크린 방향을 바꿔 주세요...

레이아웃이 변경되어야 한다면 contentView도 교체해 주시구요...

칠리님 (10,910 포인트) 님이 2014년 2월 12일 답변
...