하루에 0.01%라도 성장하자

Develop/Android

Android 세로, 가로 고정하는 방법 , screenOrientation

뚠님 2019. 11. 19. 16:42
반응형

안드로이드 앱 개발을 하면서 센서를 이용해 가로, 세로 화면을 보여주는 경우도 있고 가로, 세로로 고정하는 경우가 있다.

 

protrait, landscape

 

안드로이드에서 세로뷰, 가로뷰가 존재하는데 각각 protrait, landscape로 칭한다.

 

AndroidManifest.xml에서 설정하는 방법

 

이를 screenOrientation이라는 설정값으로 정의하여 제어하는데 방법은 아래와 같다.

 

AndroidManifest.xml

<activity
    android:name=".MainActivity"
    
    .....
    
    android:screenOrientation="portrait">

 

이렇게 AndroidManifest.xml에서 설정하여 사용할 수 있다.

portrait 값을 설정하면 세로, landscape로 설정하면 가로로 시작하고 센서로 인한 변경으로도 제어되지 않는다.

 

 

 

 

 

 

JAVA 코드로 설정하는 방법

 

Manifest.xml에서 설정하면 아쉽게도 이벤트에 따른 설정제어가 어렵다.

 

예를 들면 버튼을 눌러서 화면을 가로, 세로로 변경해야 하는 상황이 오거나 영상을 재생해야 해서 화면을 가로로 변경하고 전체 화면으로 보여줘야 하는 상황이 올때가 있다.

 

물론 영상같은 경우 라이브러리를 사용하면 전체화면 메소드를 호출할 때 영상을 가로로 변경하는 메소드도 같이 호출하는 케이스도 있겠지만... 우선은 우리가 직접 제어하는 방법을 알아보자.

 

위에 서론이 길었는데 생각보다 코드는 간단하다.

 

//세로
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//가로
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//센서
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

 

JAVA코드는 위처럼 적용하면 된다. 

반응형