Android全屏视频观看

时间:2010-09-23 07:38:38

标签: android video fullscreen

我正在尝试让此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 个答案:

答案 0 :(得分:39)

无需代码以全屏模式播放视频

在包含videoview的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>

答案 1 :(得分:36)

单击菜单项时。你必须开始新的活动。对于该Activity,您必须在Manifest中设置theme属性。设置此值为

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

就是这样。

答案 2 :(得分:7)

也许是因为您必须添加以下代码:

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

setContentView(your_content_view)之前删除应用标题栏。我知道这是一个非常晚的回复,但有人可能会发现它很有用。

答案 3 :(得分:1)

由于我的经验,您只能使用相对布局视图为您的视频在纵向和横向上拉伸。线性布局视图只能在Landscape上拉伸视频,您可以尝试两个视图而无需编写任何代码并证明我的理论

答案 4 :(得分:0)

哎呀,让我们这样试试,这适合我的全屏。

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

答案 5 :(得分:0)

Portrait layout

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

Landscape layout

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