마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

세로회전을 막고 싶습니다.

0 추천

안녕하세요~ 첫 질문이네요 ^^

 

테블릿용 앱인데, 가로모드로만 쓰고, 세로모드로는 막고 싶습니다.

마니페스트에 android:screenOrientation="landscape" 이렇게 설정하면 안되냐구요?

네, 문제가 있었습니다.

 

기본 화면이 0도고, 회전 방향이 90도, 180도, 270도가 있다고 치면,

180도로 돌렸을때 화면 전환이 되지 않는 문제가 있습니다.

 

public void onConfigurationChanged(Configuration newConfig) 

이 함수를 오버라이딩해서 세로로 돌렸을때 가로로 고정하고 싶은데,

어떻게 해야 할까요?

 

이렇게 해봤는데, 세로는 막히지만 역시 180도 회전은 안되더군요.

if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
Log.d("bsson", "ORIENTATION_PORTRAIT");
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); // 가로전환
}
 
 
감사합니다.
오즈™ (230 포인트) 님이 2013년 9월 4일 질문

2개의 답변

+1 추천
 
채택된 답변
Manifest에 android:screenOrientation="sensorLandscape" 로 정의하시면요?
밍이~ (5,780 포인트) 님이 2013년 9월 4일 답변
오즈™님이 2013년 9월 5일 채택됨
딱 제가 원했던 거군요!!!
0 추천
우선 매니페스트에 적용했던 코드랑 오버라이딩해서 구현하신 코드 지우시고

oncreate()아래에

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); 만 추가해주세요

ActivityInfo 임포트하시고요

 

그럼 수고하세요~
초보임!! (410 포인트) 님이 2013년 9월 4일 답변
...