2012-06-14 11 views

risposta

42

tutto quello che dovete fare è aggiungere questo per l'attività in AndroidManifest.xml:

android:configChanges="orientation" 

La vostra attività del video dovrebbe essere simile a questo.

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

Se il tuo obiettivo API di livello 13 o superiore, è necessario includere il valore screenSize in aggiunta al valore orientation come descritto here. La tua attività video dovrebbe essere simile a questa.

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

e quindi aggiungere il seguente metodo per VideoPlayerActivity:

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

ho provato quello che lei ha suggerito, ma quando ho giocare in verticale modalità il video è piccolo rispetto alla modalità orizzontale che il video dovrebbe essere a schermo intero ma il video rimane ancora piccolo con questo codice – gilush14

+0

Scusa, funziona! :) tnx – gilush14

+0

Buono a sapersi :) –

0

Se non diversamente specificato, una modifica della configurazione (ad esempio una modifica dell'orientamento dello schermo, della lingua, dei dispositivi di input, ecc.) Causerà la distruzione dell'attività corrente, passando attraverso il normale ciclo di vita dell'attività di onPause(), onStop() e onDestroy() come appropriato. Se l'attività era stata in primo piano o visibile all'utente, una volta che onDestroy() viene chiamato in quell'istanza, verrà creata una nuova istanza dell'attività, con qualsiasi elemento salvatoInstanceState generato dall'istanza precedente da onSaveInstanceState (Bundle).

Quindi cosa succede dietro le quinte: currnet VideoView L'attività (paesaggio) viene distrutta, una nuova attività VideoView (ritratto) viene creata a causa della configurazione dello schermoOrientation è stata cambiata, e scansionata immediatamente (dove è possibile vedere gli effetti sullo schermo), viene mostrata l'ultima attività in pila.

cercare di gestire questo metodi e verificare

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

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

@Override 
protected void onDestroy() { 
    mVideoView.stopPlayback(); 
    super.onDestroy(); 
} 
Problemi correlati