2012-06-14 17 views

Respuesta

42

todo lo que tiene que hacer es añadir esto a la actividad en AndroidManifest.xml:

android:configChanges="orientation" 

Su actividad vídeo debe ser algo como esto.

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

Si su nivel de 13 o más alto API de destino, debe incluir el valor screenSize además del valor orientation como se describe here. Tu actividad de Video debería verse más o menos así.

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

Y a continuación, añadir el siguiente método para VideoPlayerActivity:

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

Probé lo que usted sugiere, pero cuando me jugando en el retrato modo el video es pequeño en comparación con el modo horizontal que el video debe ser de pantalla completa, pero el video sigue siendo pequeño con este código – gilush14

+0

Lo siento, ¡Funciona! :) tnx – gilush14

+0

Es bueno saber :) –

0

A menos que especifique lo contrario, un cambio de configuración (como un cambio en la orientación de la pantalla, idioma, dispositivos de entrada, etc.) destruirá su actividad actual, pasando por el proceso de ciclo de vida de actividad normal de onPause(), onStop() y onDestroy() según corresponda. Si la actividad ha estado en primer plano o es visible para el usuario, una vez que se invoque onDestroy() en esa instancia, se creará una nueva instancia de la actividad, con cualquier instancia de instancia guardada que la instancia previa haya generado desde onSaveInstanceState (Bundle).

Entonces, ¿qué pasó detrás de las escenas: currnet VideoView Activity (landscape) se destruye, se crea una nueva actividad de VideoView (retrato) debido a la configuración de la pantalla de orientación se ha modificado y desterrado inmediatamente (donde se pueden ver los efectos en la pantalla) la última actividad en la pila se muestra.

tratar de manejar estos métodos y se les

@Override 
protected void onResume() { 
    mVideoView.resume(); 
    super.onResume(); 
} 

@Override 
protected void onPause() { 
    mVideoView.suspend(); 
    super.onPause(); 
} 

@Override 
protected void onDestroy() { 
    mVideoView.stopPlayback(); 
    super.onDestroy(); 
} 
Cuestiones relacionadas