2016-10-28 8 views
1

프로그래밍 방식으로 여러 방향을 설정하려고합니다. 예를 들어, 세로 방향, 역방향 세로 및 역방향을 화면 방향으로 지정할 수 있습니다.Android에서 프로그래밍 방식으로 여러 방향 설정

이 코드를 사용하려고 시도했지만 작동하지 않는 것처럼 보입니다.

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT); 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE); 

EDIT

setRequestedOrientation 방법은, 최신의 방향으로 적용된다. 두 방향을 설정하는 방법을 찾으려고합니다. 당신이 초상화를 지원하고 함께 초상화를 반전 할 SCREEN_ORIENTATION_SENSOR_PORTRAIT (더 info)와 함께 할 경우 당신은 구성에 따라 방향을 요청 설정해야

+0

더 설명한다. 여러 번 오리엔테이션을 할 때? –

+0

회사 용 라이브러리를 개발 중입니다. –

답변

2

public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } else if... 
} 

변경합니다. 또 다른 유용한 link입니다.

편집 :

난 당신이 새로운 구성은 예를 들어, 때 가로 및 세로 모두를 요청해야하는 경우를 볼 수 없습니다 풍경,하지만 당신과 함께 시도 할 수 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT | ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

+0

나는 반전 및 일반 인물 사진을 설정하려면 센서 인물 사진을 사용할 수 있지만 센서 인물 사진과 일반 풍경을 모두 사용하려면 어떻게해야합니까? 그렇다면 나의 활동이 오리엔테이션을 0, 90 및 180 도로 바꿀 수있게하려면 어떻게해야할까요? –

+0

또 다시, 나는 왜 그렇게 할 것이지 모르지만 항상 bitwise OR로 시도 할 수 있습니다. – Drez

+0

나는 이것을 필요로한다. 나는 내 활동을 0,90과 180도를 지향 할 수 있습니다. 비트 단위로 또는 작업하지 않았습니다. –