0

저는 비디오보기와 버튼으로 활동을했습니다. 세로보기 모드와 가로 모드의 두 가지 레이아웃이 있습니다.회전중인 Android 스위치 레이아웃

두 번째 레이아웃의 레이아웃 랜드를 만들면 모든 것이 잘됩니다.

문제는 회전이 발생하는 것입니다. 활동이 갱신되면 동영상보기가 다시 시작됩니다. 매니페스트 방향 설정 | 화면 크기 조정 비디오가 다시 시작하지 않지만 가로 레이아웃이 손실됩니다.

두 작업을 수행하는 방법은 무엇입니까?

android:configChanges="orientation" 

비디오 활동이 모양은 다음과 같습니다

답변

1

당신이 할 필요가 AndroidManifest.xml에의 활동이 추가됩니다.

<activity android:name=".VideoPlayerActivity" 
    android:configChanges="orientation" /> 

그리고 VideoPlayerActivity에 다음 메서드를 추가

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
} 

과 심지어 mainActivity.java VD = (VideoView를 지켜 보면서) findViewById를 (R.id.vplayer)에; ....... public void onSaveInstanceState (번들 savedInstanceState) { super.onSaveInstanceState (savedInstanceState); savedInstanceState.putInt ("Position", vd.getCurrentPosition()); }

public void onRestoreInstanceState(Bundle savedInstanceState) { 
    super.onRestoreInstanceState(savedInstanceState); 
    int position= savedInstanceState.getInt("Position"); 
    vd.seekTo(position); 
} 
+0

에 대한

here 나는 당신의 제안하려고하지만 장치 활동의 방법에서 onCreate가 호출 회전, 그래서 – tulkas85

+0

비디오 실시간 스트리밍 다시 시작 VideoView를 지켜 보면서 때, 나는 위치로 추구 할 수 없다. 주요 문제는 스트리밍 서버의 videoview 연결이 매우 느리므로 장치 회전시 생성시 다시 호출되며 사용자는 새로운 videoview 연결을 기다려야한다는 것을 알 수 있습니다. – tulkas85

0

AndroidManifest.xmlconfigChanges을 유지하지만, 또한 방향이 변경된 후가 될하고자하는 상태로 다시 활동을 넣어 onSaveInstanceStateonRestoreInstanceState를 사용합니다. 자세한 내용

+0

기기 회전시 configChanges = "orientation"onCreate 메소드가 호출되지 않았지만 레이아웃 랜드가 없습니다. onSaveInstance 응용 프로그램에서는 화면이 꺼지거나 홈 버튼을 눌러야 만 이동합니다. – tulkas85