2012-01-05 4 views
3

가속도계를 사용하여 앱을 만들었지 만 화면 회전이 감지 될 때마다 문제가 발생하여 주 메뉴로 이동합니다.기기가 회전 할 때마다 libgdx를 사용하는 앱이 다시 시작됩니다.

회전을 사용하지 않으려면 다음 코드를 사용했지만 더 이상 가로 모드가 아니더라도 회전 동작을 감지하고 메인 메뉴로 이동합니다.

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 

어떻게이 회전 감지를 방지 할 수 있습니까?

답변

7

AndroidManifest.xml 파일에 액티비티 태그 안에 android:screenOrientation="portrait"을 넣으십시오. 이 속성은이 특정 활동을 항상 세로 모드로 실행해야하므로 Android가 회전 할 때 화면 방향을 변경하려고 시도하지 않는다고 정의합니다.

+1

안녕하세요. 내가 도울 수있어서 기쁩니다. – Kimi

2

또한 키보드가 나타나거나 숨겨진 경우 다시 시작을 방지하기 위해

android:configChanges="keyboard|keyboardHidden|orientation" 

을 추가 할 것입니다.

게임을 가로 모드와 세로 모드에서 모두 사용하려면 android:screenOrientation="portrait"을 삭제할 수도 있습니다. libgdx 위키보기 : https://code.google.com/p/libgdx/wiki/ApplicationConfiguration#The_.xml_File

2

Kimi 응답은 정확하지만 Amazon 기기에서도 게임을 실행하려면 "screenSize"라는 추가 값을 추가해야합니다. 결과는 다음과 같습니다.

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

관련 문제