본문 바로가기
개발/APP

안드로이드 회전 막기

by 카루딘 2018. 12. 10.
반응형
출처:  https://zetawiki.com/wiki/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C_%ED%9A%8C%EC%A0%84_%EB%A7%89%EA%B8%B0

android activity rotation lock
안드로이드 화면회전 막기, 안드로이드 액티비티 방향 고정
안드로이드 화면 고정, 안드로이드 회전 고정
안드로이드 화면 회전 안되게 하기

1 핵심코드[편집]

  • Activity 클래스의 onCreate 메소드에 아래와 같은 코드 추가
세로로 고정 (길게)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
→ 정방향 세로로 완전히 고정. 회전불가
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
→ 역방향 세로 가능. 즉 180도 회전은 가능
가로로 고정 (넓게)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
→ 정방향 가로로 완전히 고정. 회전불가
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
→ 역방향 가로 가능. 즉 180도 회전은 가능

2 전체코드 예시[편집]

  • MainActivity.java를 수정한 예시
  • 최초 실행되는 MainActivity에 적용되며, 액티비티가 여러 개라면 각 클래스마다 설정해야 함
  • 세로 방향으로 고정됨
package com.example.myfirstapp;
 
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
        setContentView(R.layout.activity_main);
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
 
}

3 같이 보기[편집]


반응형