[안드로이드] 화면 회전 2

2021. 4. 30. 21:35앱개발

1. AndroidManifest.xml 파일에 다음의 내용을 추가한다.

 - android:configChanges="orientation|screenSize|keyboardHidden"

수정전
<activity android:name=".MainActivity"
            >

수정후
<activity android:name=".MainActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            >

- orientation : 방향이 바꼈을 때 알려달라
- keyboardHidden : 입력상자가 있어도 keypad가 자동으로 뜨지 않게 해달라

* 참고로 휴대폰 센서에 상관없이 가로 방향으로 만들려면 다음의 속성을 넣으면 된다.

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

2. MainActivity.java에서 onConfigurationChanged 함수를 override 방식으로 추가한다.

(Mainfest 1번처럼 설정해주면, 방향이 전환되었을 때 이 함수가 호출됨)

@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        //가로 방향인지 확인
        if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
        {
        	Toast.makeText(this, "가로방향 상태", Toast.LENGTH_SHORT).show();
        }
        else if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
        {
            Toast.makeText(this, "세로방향 상태", Toast.LENGTH_SHORT).show();
        }
}

 

 

 

'앱개발' 카테고리의 다른 글

Fragment  (0) 2021.05.05
[안드로이드] Inflation을 이용한 sub화면 전환  (0) 2021.05.01
[안드로이드] 버튼 상태 drawable  (0) 2021.04.26
[안드로이드] 텍스트  (0) 2021.04.24
[안드로이드] Buttons  (0) 2021.04.24