faire un plein écran en seulement layout-land android lors de la lecture d'videoView
Je suis en création d'application android pour jouer liveStream, j'ai ajouté le videoView dans mon layout.xml et ajouté au dossier de mise en page-terre
Je veux faire de l'app montre la vidéo en plein écran que dans la mise en page-la terre n'est pas le portrait
donc j'ai ajouté le code suivant dans onCreate():
public void onConfigurationChanged(Configuration newConfig){
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE
{
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
} else
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
mais mon problème est que lorsque je tourne le dispositif de redémarrage de l'activité et de ce diriger le flux de la vidéo pour s'arrêter et je veux l'en empêcher. . J'ai ajouté à manifester cette ligne
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
mais cela conduit le code de onCreate() est exécutée une seule fois.
Comment faire pour que mon application joue le flux vidéo en continu et lorsque je faire pivoter l'appareil pour passer en plein écran dans l'aménagement des terres, puis lors du retour au portrait faire ce normal?
Espère que tout le monde a mon dire.
Merci à l'avance.
OriginalL'auteur user1553381 | 2012-10-22
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter votre videoview (ou de contenu Parent) comme dernier élément dans votre fichier de mise en page. et utiliser le code suivant:
Il obtient une copie de videoview layoutparams et l'enregistre dans une variable globale. puis crée un nouveau layoutparams objet avec les valeurs précédentes, mais à fixer maintenant les limites de la match_parent et le définit dans votre videoview. Vous videoview est maintenant en plein écran. Lorsque vous mettez votre appareil en mode portrait, paramsNotFullscreen restaure les valeurs précédentes.
Mise à JOUR:
Dans votre fichier de manifeste, vous devez ajouter dans la déclaration d'Activité le code suivant pour éviter le redémarrage de l'activité:
J'ai testé ce code dans 2.3+. De toute façon j'ai publié cette réponse en 2012, lorsque KitKat n'était pas encore sorti
uing ce code, je ne vais pas être dans le besoin de mise en page-terre de fichier ? comment vais-je faire ce que mon xm mise en page pour la vidéo est ci-joint pastie.org/10423424
Vous devez mentionner qu'il est nécessaire d'ajouter android:configChanges="orientation|screenSize" de l'activité dans votre Manifeste, pour éviter d'activité à être détruits et recréés sur rotation
ajouté 😉 @gekod, en fait, vous devez ajouter également
screenLayout
optionOriginalL'auteur ClarkXP
...
après avoir modifié le code, est que cela va affecter le flux de la vidéo? comme je l'ai empêché l'application de redémarrage de l'activité lors de la rotation
vous devez définir statique videoView1 dans une autre classe,lorsque le changement d'orientation de ensuite, vous devez régler l'videoView objet statique videoView1......lors du redémarrage de l'activité au moment d'assigner statique videoView1 en courant videoView..
OriginalL'auteur Parag Ghetiya