Android-видео Просмотреть в полноэкранном режиме - PullRequest
25 голосов
/ 23 сентября 2010

Я пытаюсь, чтобы этот VideoView отображался в полноэкранном режиме:

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);  
  }
}

Видео воспроизводится с SDCard. Единственное, когда я нажимаю на кнопку полноэкранного меню, приложение «неожиданно останавливается».

Пожалуйста, помогите мне, как заставить видео работать в полноэкранном режиме? Заранее спасибо.

Ответы [ 6 ]

39 голосов
/ 09 февраля 2011

Не требуется код для воспроизведения видео в полноэкранном режиме

Примените следующий формат макета над xml, содержащим видеовид, он наверняка воспроизведет видео в полноэкранном режиме как это работает мой :) Надеюсь, что это помогает

 <?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>
36 голосов
/ 23 сентября 2010

при нажатии пункта меню.Вы должны начать новую деятельность.для этого занятия вы должны установить атрибут темы в манифесте.установите это значение

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

вот и все.

7 голосов
/ 06 июня 2012

Возможно, вам нужно добавить следующий код:

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

перед setContentView(your_content_view), чтобы избавиться от строки заголовка приложения.Я знаю, что это очень поздний ответ, но кто-то может найти его полезным.

1 голос
/ 11 ноября 2015

Из-за моего опыта, вы можете использовать только Relative-Layout View для вашего видео, чтобы растянуть на портретной и альбомной ориентации.Представление с линейной компоновкой может растягивать видео только в альбомной ориентации, вы можете попробовать два вида без написания кода и доказать свою теорию

0 голосов
/ 31 октября 2015

Портретная раскладка

<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>

Пейзажная планировка

<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 голосов
/ 21 сентября 2012

Окей, попробуем вот так, это подходило для моего полного экрана.

    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
...