tammikuu Posté(e) 3 octobre 2011 Share Posté(e) 3 octobre 2011 (modifié) bonjour, je souhaiterais lancer une vidéo en plein écran, or même en élargissant la videoview (parametres : fill_parent) la vidéo ne prend que la moitié de l'écran (non centré bien sur). protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.presentation); VideoView view = (VideoView)findViewById(R.id.videoView); view.setMediaController(new MediaController(this)); view.setVideoURI(Uri.parse("android.resource://"+this.getPackageName()+"/"+R.raw.presentation)); view.requestFocus(); view.start(); j'en profite également pour demander comment ajouter les ascenseurs sur un layout, car j'ai développé mon appli sans tenir compte de la rotation du smartphone et je viens de me rendre compte qu'en paysage la moitié des bouttons on diparus et impossible de descendre sur la vue ... Modifié 3 octobre 2011 par tammikuu Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 3 octobre 2011 Share Posté(e) 3 octobre 2011 Pour les ascenseurs, il te suffit de mettre un ScrollView (ou HorizontalScrollView, selon tes besoins) en racine de ton layout 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tammikuu Posté(e) 3 octobre 2011 Auteur Share Posté(e) 3 octobre 2011 (modifié) j'ai essayé de rajouter : [/size][/size][/size] <VideoView android:layout_width="fill_parent" android:id="@+id/videoView" android:layout_height="fill_parent" android:layout_alignParentRight="true" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_alignParentBottom="true"> </VideoView> et android:theme"@android:style/Theme.NoTitleBar.Fullscreen" rien n'y fait Modifié 3 octobre 2011 par tammikuu Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 3 octobre 2011 Share Posté(e) 3 octobre 2011 Quel est le contenu de ton layout complet ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tammikuu Posté(e) 3 octobre 2011 Auteur Share Posté(e) 3 octobre 2011 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/background" android:layout_width="fill_parent" android:layout_height="fill_parent"> <VideoView android:layout_width="fill_parent" android:id="@+id/videoView" android:layout_height="fill_parent" android:layout_alignParentRight="true" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_alignParentBottom="true"> </VideoView> </LinearLayout> Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cyberalternative Posté(e) 6 octobre 2011 Share Posté(e) 6 octobre 2011 Bonjour, idem pour moi, impossible de mettre une vidéo en plein écran =S. Quelqu'un a-t-il une solution ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tammikuu Posté(e) 11 octobre 2011 Auteur Share Posté(e) 11 octobre 2011 UP Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tammikuu Posté(e) 12 octobre 2011 Auteur Share Posté(e) 12 octobre 2011 toujours personne ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cyberalternative Posté(e) 18 octobre 2011 Share Posté(e) 18 octobre 2011 Bonjour à vous. J'ai trouvé une solution qui consiste à redéfinir le layout de la videoView. Cela fonctionne très bien chez moi mais je ne sais pas si c'est très propre... mVideoView.layout(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); mVideoView.layout.invalidate(); avec "SCREEN_WIDTH" et "SCREEN_HEIGHT" à remplacer par les valeurs appropriées. Bien à vous. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tammikuu Posté(e) 19 octobre 2011 Auteur Share Posté(e) 19 octobre 2011 J'ai résolu le problème en supprimant le linear layout dans le xml, ne laissant que le video view <?xml version="1.0" encoding="utf-8"?> <VideoView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:id="@+id/videoView" android:layout_height="fill_parent" android:layout_alignParentRight="true" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" android:layout_gravity="center"> </VideoView> Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cyberalternative Posté(e) 20 octobre 2011 Share Posté(e) 20 octobre 2011 Simple curiosité, as-tu utilisé également ma méthode ou la tienne suffit ? Merci. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nietsabe Posté(e) 3 novembre 2011 Share Posté(e) 3 novembre 2011 (modifié) Bonjour, concernant la video plein écran, le problème se situe dans le principe de fonctionnement même de la classe VideoView, en effet lorsque tu charges en mémoire le XML contenant genre : <VideoView android:id="@+id/video_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center_horizontal"/> Android va prendre comme référence les dimensions du layout parent. Jusqu'ici tout ce passe comme prévus. Bémols, lorsque tu charges une vidéo en mémoire, la classe VideoView va procéder à un redimensionnement de la VideoView pour respecter le ratio d'image de la vidéo. La seul solution que j'ai trouvé, c'est de télécharger la classe VideoView : http://grepcode.com/...id+videoView&n= Et d'ensuite l'implémenter dans le projet pour ensuite modifier des morceaux de codes pour lancer une video avec les dimensions désirés. Petit tuto rapide : Téléchargez la classe VideoView et placer la dans un dossier que vous aurez créé dans le dossier src et on y mettra notre propre classe VideoView . exemple : src/com/divers/VideoView.java On modifie la classe VideoView (chercher la méthode OnMeasure qui permet de définir les dimensions ou sinon comme je l'ai fait, créer une méthode scale() avec un appel de layoutParams qui va modifier les dimensions de la VidéoView. Puis, lorsque vous instancierez VideoView, prenez soin de rajouter le import com.divers.*; et non le import d'origine widget.videoview. Enfin, dans votre xml, la déclaration videoview sera écrite comme ceci : <com.divers.VideoView android:id="@+id/video_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center_horizontal"/> Conclusion, android, des fois, ça donne envie de frapper des gens... Je ne comprend toujours pas ce qui a pu motiver google à redimensionner les vidéo une fois chargée en mémoire plutôt que de laisser le choix au développeur via un passage de paramètre ou appel de méthode. je dit ça, car déjà, c'est pénible de mettre en place la méthode que j'ai décrite, mais en plus, vu qu'on instancie une class de notre projet, notre apli n'exploite plus la dernière version de la class widget.VideoView. Conclusion, cette solution marche très bien, mais elle amène aussi son lot de danger concernant M.A.J et compatibilité. Donc prudence. Nietsabe Modifié 3 novembre 2011 par Nietsabe Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylvain-a Posté(e) 8 novembre 2011 Share Posté(e) 8 novembre 2011 Et faire créer une classe héritant de VideoView ça pouvait pas marcher? (pure curiosité) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nietsabe Posté(e) 9 novembre 2011 Share Posté(e) 9 novembre 2011 Mhn, pour une raison que j'ignore, lorsque je tentais une extends de VideoView, j'avais un crash inexpliqué de l'app, avec des messages dans les log complètements incompréhensible limite ésotérique... Mais c'est tout à fait possible ce que tu dis Sylvain-a, faudrait que je re-test ultérieurement. Et quand ça marchera (si ça marche) je posterais sur le site la solution, car j'ai l’impression que pas mal de monde se pose la question. Nietsabe Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylvain-a Posté(e) 9 novembre 2011 Share Posté(e) 9 novembre 2011 Ok, je jetterai un oeil si j'ai le temps un de ces jours pour voir ce que ça donne ^^. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
takitta Posté(e) 4 juin 2013 Share Posté(e) 4 juin 2013 salut, svp où je dois mettre le code ce dessous code exactement ? mVideoView.layout(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); mVideoView.layout.invalidate(); Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.