2011-09-01 537 views
3

有没有什么方法可以将VideoView背景设置为图像,以便在播放视频时,两侧的黑色部分(左侧&右侧)显示背景上设置的图像。我曾尝试过,但无法看到视频,它只显示背景图片,虽然播放了视频,但它的声音可以被听到。如何在Android中设置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" 
    android:id="@+id/main_layout"> 
    <LinearLayout android:layout_height="wrap_content" 
     android:id="@+id/linearLayout1" android:layout_width="fill_parent" 
     android:background="@drawable/header"> 
     <TextView android:id="@+id/textView1" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:text="Chapter-1" 
      android:textColor="#FFFFFF" android:layout_marginLeft="170dp" 
      android:layout_marginTop="15dp"></TextView> 
    </LinearLayout> 
    <VideoView android:id="@+id/videoView1" android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:layout_below="@+id/linearLayout1" 
     android:layout_centerHorizontal="true"></VideoView> 
    <LinearLayout android:layout_alignParentTop="@+id/videoView1" 
     android:layout_centerInParent="true" android:layout_height="wrap_content" 
     android:id="@+id/linearLayout2" android:layout_width="fill_parent" 
     android:gravity="right"> 
     <TextView android:id="@+id/overTitle" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:text=" text" 
      android:textColor="#FFFFFF"></TextView> 
    </LinearLayout> 

    <LinearLayout android:layout_alignParentTop="@+id/videoView1" 
     android:background="@drawable/footer" 
     android:layout_alignParentBottom="true" android:layout_height="wrap_content" 
     android:id="@+id/linearLayout2" android:layout_width="fill_parent" 
     android:gravity="center"> 
     <Button android:id="@+id/menu_btn" android:layout_below="@+id/videoView1" 
      android:layout_width="wrap_content" android:text="Menu" 
      android:textColor="#FFFFFF" android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/videoView1" android:layout_alignRight="@+id/videoView1" 
      android:background="@drawable/menu"></Button> 
     <Button android:id="@+id/button2" android:layout_below="@+id/videoView1" 
      android:layout_width="wrap_content" android:text="High" 
      android:textColor="#FFFFFF" android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/videoView1" android:layout_alignRight="@+id/videoView1" 
      android:background="@drawable/menu"></Button> 
     <Button android:id="@+id/button2" android:layout_below="@+id/videoView1" 
      android:layout_width="wrap_content" android:text="CC" 
      android:textColor="#FFFFFF" android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/videoView1" android:layout_alignRight="@+id/videoView1" 
      android:background="@drawable/menu"></Button> 
     <Button android:id="@+id/exit_btn" android:layout_below="@+id/videoView1" 
      android:layout_width="wrap_content" android:text="Exit" 
      android:textColor="#FFFFFF" android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/videoView1" android:layout_alignRight="@+id/videoView1" 
      android:background="@drawable/menu"></Button> 
    </LinearLayout> 

</RelativeLayout> 

回答

0

可以适应您的视频观看到视频帧大小的尺寸。所以你没有左右两侧的黑色条纹。

如果您设置了背景图像,则必须在图层模型的顶部设置视频视图。否则图像会覆盖您的视频视图,并且您看不到视频。

编辑

设置你必须将其声明为您的布局对象的视频视图的大小,而不是作为布局本身。

这里有一个例子:

<LinearLayout android:id="@+id/LinearLayout01" 
     android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" ...> 

     <VideoView android:id="@+id/VideoView" android:layout_width="50dp" android:layout_height="50dp" ...(here you can set further setting of the video view)></VideoView> 
     <Button android:text= ...></Button> 
     <Button android:text=...></Button>   
    </LinearLayout> 
+0

谢谢你。所有为你的友善回应...我已经添加了XML代码,你可以请看看 –

+0

我已经编辑我的文章与一个小例子。您还可以使用videoview.layout()方法在源代码中设置视频视图的大小和位置。 – Rich