L'ajout de VideoView XML de mise en page
Je voudrais ajouter par programmation un VideoView à un LinearLayout. Le LinearLayout a un id de "principal".
Référence au présent DONC, la question Le Streaming vidéo et Android, j'ai été en mesure d'obtenir la vidéo afin d'afficher et de jouer, mais que si je voulais créer un nouveau VideoView à la volée et l'ajouter à la mise en page?
C'est le XML, je suis en train de le "copier" du programme:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/main"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent">
<VideoView android:id="@+id/your_video_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
/>
</LinearLayout>
Voici comment j'ai essayé de faire la même chose par programme:
VideoView videoView = new VideoView(this);
LinearLayout layout = (LinearLayout)findViewById(R.id.main);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layout.addView(videoView, params);
Le problème est que la vidéo ne montre pas du tout! Avec VideoView déclaré en XML, tout fonctionne bien, mais par programme, il ne fonctionne pas du tout.
Pour être clair, je ne veux pas avoir un VideoView défini dans le fichier XML quand je fais de la programmation.
addView()
et rien ne se passe, ne logcat dire quelque chose?Nope, logcat ne dit rien
OriginalL'auteur user5243421 | 2011-12-08
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas tout à fait sûr pourquoi ton code ne fonctionne pas, mais je peux fournir un exemple de l'un de mes projets, où je me gonfler un VideoView et l'ajouter à un FrameLayout qui est placé à l'intérieur d'un LinearLayout. Je contrôle ma vidéo si un MediaController.
Voici le XML pour mon FrameLayout:
Dans le res/layout j'ai un fichier XML contenant juste un VideoView:
Pour l'ajouter par programmation, nous avons besoin d'un inflater et le cadre:
Quand je veux afficher la vidéo et de jouer j'ai utiliser le code suivant:
J'espère que cela peut aider à vous jusqu'à ce que quelqu'un est en mesure de répondre à votre question 🙂
OriginalL'auteur Lasse Samson