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

14

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

这是我想要得到的:enter image description here

当然,你可能会问,为什么我不只是将视频的背景颜色设置为与容器的背景颜色相匹配,但我想实现这一点的原因是因为我的下一步是将图像或图案作为容器的背景。我的layout 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>

在尝试实验时,我试图为videoview设置背景,但结果导致videoview被完全遮盖。

谢谢。

1个回答

2
VideoView正在当前窗口上方打开一个单独的窗口。这是因为它基于SurfaceView。我们无法对其进行alpha设置或执行动画,因为它与其他UI元素不同步。
因此: 您应该使用基于TextureView的视频播放器,并通过“设置alpha”到TextureView来实现透明背景动画。 您可以使用这些库获取基于TextureView的视频播放器。

如果我设置alpha,整个视频都会变成透明。我们如何只让黑色背景部分消失? - c-an

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接