2013-10-01 3 views
0

조각에 GLSurfaceview가 있습니다. 정상적으로 작동합니다. onPause를받은 장치를 회전하면 glsurfaceview로 보내고 부모로부터 제거합니다. onResume을 받기 전에 이미지가 새로운 방향으로 칠해져 잠시 동안 모든 스크린을 채 웁니다 (플래시처럼). 렌더링 스레드가 이미지를 그리지 않았 음을 확신합니다. 표면이 다시 만들어지면 페인트가 올바르게 시작됩니다.glsurfaceview 장치 회전시 화면 너비가 확대됩니다.

아마도 회전 애니메이션과 관련 될 수 있습니다. 그것을 비활성화하는 방법이 있습니까?

응용 프로그램이 로컬 비디오를 캡처 할 때 발생하지 않습니다.

어떤 아이디어가 있습니까?

감사합니다.

답변

1

방향이 바뀌면 onSurfaceCreated() 다음에 onSurfaceChanged()을 호출합니다.

XML을

<activity 
     android:name=".MainActivity" 
     android:configChanges="orientation|screenSize" 
     /> 

또는 매니페스트에 추가 :

당신은 당신의 활동을 위해 XML android:screenOrientation="landscape" 매니페스트에 추가 할 수 있습니다