2012-09-17 3 views
0

내 활동에서 사용자 지정 대화 상자를 사용하고 있습니다. 다른 위치에 대화 상자가 표시되는 경우에만 화면 방향을 설정하여 화면 방향을 세로 방향에서 가로 방향으로 변경할 수 있습니다. 특정 경우에 대한 방향을 Java 코드에서 수정하는 방법이 있습니까?대화 상자보기의 화면 방향 수정

답변

1
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
//Show dialog here 
//... 
//Hide dialog here 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 
+0

감사합니다 ... –

0

android : configChanges = "orientation"그러면 안드로이드는 오리엔테이션이 변경되었을 때 활동을 다시 만들지 않습니다. 대화 상자를 닫지 않으려면 Activity.showDialog() 메소드 만 사용하면됩니다. android : configChanges = "orientation"을 계속 사용하려면 Activity.onConfigurationChanged() 메소드에서 드로어 블을 수동으로 변경해야합니다.

2

서비스에서 시작된 전체 화면 대화 상자에서이 작업을 수행해야했습니다.

final WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); 
params.copyFrom(window.getAttributes()); 
params.width = WindowManager.LayoutParams.MATCH_PARENT; 
params.height = WindowManager.LayoutParams.MATCH_PARENT; 
params.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; 

window.setAttributes(params); 
+0

나를 위해 작동하지 않았습니다. –

+0

수락 된 답변을 시도 했습니까? 2014 년 이후 Android 코드를 작성하지 않았습니다. – sent1nel