안드로이드 개발 질문/답변 
    (글 수    45,052)
        	
        
        
    안녕하세요,  아직 동작하는 감이 안와서 매일밤 삽질중입니다. ^^;
                                
                            가로 세로 레이아웃을 별도로 만들어서 layout-port 와 layout-land 에 동일한 xml 파일명과 ID 로 생성해 놨습니다.
그리고 android:configChanges="keyboardHidden|orientation"  는 빼버렸으니  화면 전환에 대해서 자동으로 onCreate 가 
실행되어 다시 생성되는 상태이구요.  문제는 화면 전환 잠금을 구현하는데  버튼을 두어서 눌렀을때는 화면 전환을 고정시켜야 하는데
고정 버튼을 눌러 락을 걸때 (버튼 클릭 리스너)
	setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
고정 버튼을 눌러 락을 풀때
	setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
위와 같이 처리를 했는데 이게 맞는 방식인지 궁금하네요.  세로모드인 경우는 정상적으로 락이 걸리면 화면전환에 반응을 안해서 
정상적으로 동작하는데  가로모드에서 락을 걸 경우는 onCreate 를 타버리면서 화면이 반대로 적용(가로 90도에서 270도로 뒤집힘)이
되어 버리네요.  세로모드에서는 onCreate 를 다시 타지는 않습니다. (왜 가로모드인 경우만 onCreate 를 타는지 이상하네요...)
여기서 궁금한건 수동으로 SCREEN_ORIENTATION_LANDSCAPE 를 적용할 때 90 도 가로로 설정하거나 270도 가로로 설정하는 방법이 있는가요?
(2번째 질문)
이문제가 해결이 안되서 android:configChanges="keyboardHidden|orientation" 를 추가한 다음  화면 전환에 대해 레이아웃을 
수동으로 변환해 보려고 합니다.  
	public void onConfigurationChanged(Configuration newConfig) {
	    super.onConfigurationChanged(newConfig);
	    switch(newConfig.orientation) {
	        case Configuration.ORIENTATION_PORTRAIT:   
	            //--- 세로 화면 생성	        	        	
	            break;
	        case Configuration.ORIENTATION_LANDSCAPE:  
	            //--- 가로 화면 생성     	 
	            break;
	    }
	}
여기서 가로/세로 레이아웃은 layout-port 와 layout-land 가 폴더로 분리되어 있구요
세로모드에서 가로로 전환되었다면 기존에 onCreate 에서 뷰생성하는 것처럼 모든 뷰생성 및 할당 코드가 
onConfigurationChanged() 이 메서드에 다 들어가는 건가요?   그럼 화면 전환때 마다 생성 및 할당이 되는건지...
이부분이 이해가 안되네요..  
새벽이라 정신이 좀 없네요..  ^^;    조언좀 부탁드립니다.









