2011년 7월 20일 수요일

안드로이드 화면전환 막기

개발중인 어플이 가로나 세로 한가지 화면만 지원할때 사용하면된다.
Manifest 파일의 해당 activity 속성에 다음을 추가해준다.
android:screenOrientation="portrait"    //  .화면세로 고정
android:screenOrientation="landscape"  //화면 가로 고정
 
코드상에서 화면 강제 조정도 가능하다
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);   //가로전환
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);      //세로전환
 
위 코드를 onCreate 함수에 추가해 준다면 위의 Manifest 에 추가해 준것과 효과가 같다.
 


안드로이드 어플리케이션 실행중 화면이 회전되면
어플이 초기화되어 돌리던 쓰레드가 뻑나는 경우가 생긴다.

다음은 화면이 회전될때 onDestroy() 와 onCreate() 함수가 호출되는것을 막아주는 코드이다.
 
@Override
         public void onConfigurationChanged(Configuration newConfig) {
                   super.onConfigurationChanged(newConfig);
         }
 
이함수를 오버라이딩하고
android:configChanges="orientation|keyboard"
Manifest 파일의 해당 activity에 추가해준다.
 
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
}
문을 전의 오버라이드 군문에 추가해서 화면전환시 할일을 적어줄수 도 있다.
 
android:screenOrientation = "nosensor"
센서를 막아서 전환을 막는 방법도 있다.   ^^;

댓글 없음:

댓글 쓰기