Android:无法将VideoView背景设置为透明

时间:2013-12-21 15:21:39

标签: android android-videoview alpha-transparency

我有一个VideoView播放一个形状不是矩形的视频(即带圆角的旋转圆柱)。视频视图显示在具有背景颜色的LinearLayout中。我希望视频视图的背景是透明的,以便产生圆柱体在背景颜色上旋转而没有任何黑角的效果。 这就是我得到的:current result

这就是我想要的:enter image description here

当然,您可以问,为什么我不设置视频的背景颜色以匹配容器的背景颜色,但我想实现这一目的的原因是因为我的下一步是要有一个图像或图案作为容器的背景。我的布局xml如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00aaff"
    android:orientation="vertical" >

    <VideoView
        android:id="@+id/surface_view"
        android:layout_width="254dp"
        android:layout_height="200px" />

</LinearLayout>

在试验期间,我尝试为视频视图设置背景,但结果却完全掩盖了视频视图。

谢谢。

1 个答案:

答案 0 :(得分:2)

VideoView正在当前窗口上方打开一个单独的窗口。这是因为它基于SurfaceView。我们无法设置alpha或使用它执行动画,因为它不与您的其他UI元素同步。

<强>所以: 您应该使用基于TextureView的视频播放器和 动画透明背景 by&#34; set alpha&#34;到TextureView 您可以使用这些库并获得基于TextureView的视频播放器