web-dev-qa-db-fra.com

Android-Video Voir en plein écran

J'essaie de faire en sorte que VideoView apparaisse en mode plein écran:

public class ViewVideo extends Activity {
  private String filename;
  private static final int INSERT_ID = Menu.FIRST;

  @Override
  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        System.gc();
        Intent i = getIntent();
        Bundle extras = i.getExtras();
        filename = extras.getString("videofilename");
        VideoView vv = new VideoView(getApplicationContext());
        setContentView(vv);
        vv.setVideoPath(filename);
        vv.setMediaController(new MediaController(this));
        vv.requestFocus();
        vv.start();
  }

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      super.onCreateOptionsMenu(menu);
      menu.add(0, INSERT_ID, 0,"FullScreen");

      return true;
  }

  @Override
  public boolean onMenuItemSelected(int featureId, MenuItem item) {
      switch(item.getItemId()) {
      case INSERT_ID:
          createNote();
      }
      return true;
  }

  private void createNote() {
        requestWindowFeature(Window.FEATURE_NO_TITLE);  
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   
                             WindowManager.LayoutParams.FLAG_FULLSCREEN);  
  }
}

La vidéo est en cours de lecture de sdcard. La seule chose est que lorsque je clique sur le bouton de menu en plein écran, l'application "s'arrête de manière inattendue". 

S'il vous plaît aidez-moi, comment faire pour que la vidéo fonctionne en plein écran? Merci d'avance.

25
bharathi

lorsque vous cliquez sur un élément de menu. vous devez commencer une nouvelle activité. pour cette activité, vous devez définir l'attribut theme dans le manifeste. définir cette valeur qui est 

Android:theme="@Android:style/Theme.NoTitleBar.Fullscreen"

c'est tout.

36
Praveen

Pas besoin de code pour lire une vidéo en mode plein écran

Appliquez le format de mise en page suivant sur le fichier XML contenant la vidéo. La lecture de la vidéo en mode plein écran est assurée. comme il fonctionne le mien :) J'espère que ça aide

 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
           Android:layout_width="fill_parent"
           Android:layout_height="fill_parent" >
   <VideoView Android:id="@+id/myvideoview"
             Android:layout_width="fill_parent"
             Android:layout_alignParentRight="true"
             Android:layout_alignParentLeft="true"
             Android:layout_alignParentTop="true"
             Android:layout_alignParentBottom="true"
             Android:layout_height="fill_parent">
    </VideoView>
 </RelativeLayout>
39
Javanator

C'est peut-être parce que vous devez ajouter le code suivant:

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(
    WindowManager.LayoutParams.FLAG_FULLSCREEN,  
     WindowManager.LayoutParams.FLAG_FULLSCREEN);

avant setContentView(your_content_view) pour vous débarrasser de la barre de titre de l'application. Je sais que sa réponse est très tardive, mais quelqu'un pourrait la trouver utile.

7
samreen

Grâce à mon expérience, vous ne pouvez utiliser la vue de mise en page relative que pour que votre vidéo soit étirée en portrait et en paysage. La vue en disposition linéaire ne peut étirer que la vidéo sur Paysage, vous pouvez essayer la vue sans écrire de code et prouver ma théorie

1
Michael

Mise en page de portrait

<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:layout_gravity="center"
    Android:background="@Android:color/black">
    <VideoView
        Android:id="@+id/video_view"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_gravity="center" />
</FrameLayout>

Paysage mise en page

<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:background="@Android:color/black">
    <VideoView
        Android:id="@+id/video_view"
        Android:layout_width="wrap_content"
        Android:layout_height="match_parent"
        Android:layout_gravity="center"/>
</FrameLayout>
0
THZ

Okey, Essayons comme ça, c'était approprié pour mon plein écran.

    Android:theme="@Android:style/Theme.Translucent.NoTitleBar.Fullscreen"
0
SAWAUNG