Android:如何在椭圆形视图中显示视频文件

Android:如何在椭圆形视图中显示视频文件,android,video,canvas,android-videoview,Android,Video,Canvas,Android Videoview,人们。如何创建我自己的CustomVideoView 我想在椭圆形的视频视图中显示视频文件。但我不知道怎么做? 我创造了什么: 在画布上绘制视图或其他内容? 请帮帮我。 它一定是这样的: 我想我可以画一些弧线,但我不知道我需要怎样做。我想你最好在普通(方形)视频视图上加一个“遮罩”层,而不是试图创建一个新的视频视图,在圆形画布上而不是方形画布上绘制 下面是一些用于布局xml的sudo代码,我认为这些代码可以满足您的需求: <RelativeLayout> <VideoVi

人们。如何创建我自己的CustomVideoView

我想在椭圆形的视频视图中显示视频文件。但我不知道怎么做? 我创造了什么: 在画布上绘制视图或其他内容? 请帮帮我。 它一定是这样的:


我想我可以画一些弧线,但我不知道我需要怎样做。

我想你最好在普通(方形)视频视图上加一个“遮罩”层,而不是试图创建一个新的视频视图,在圆形画布上而不是方形画布上绘制

下面是一些用于布局xml的sudo代码,我认为这些代码可以满足您的需求:

<RelativeLayout>
  <VideoView .../>
  <ImageView
    android:src="@drawable/mask"
    .../>
</RelativeLayout>

如果可绘制的“遮罩”表示示例图像中的黑角部分,则可以使用png,甚至可以使用可绘制形状的xml文件,如果您希望计算出圆弧以使其正确绘制


ImageView应该绘制在VideoView的顶部。这将把黑色的角落放在适当的位置,并使中心圆保持透明,以便通过它可以看到下面的视频视图,就像一扇窗户一样。

Thx。。。我用png制作。但是在不同的手机上,不同的屏幕尺寸又如何呢?如何修复它?因为png在px中,我的VideoView在dip中。我需要为xhdpi、hdpi、mdpi、ldpi创建4个png文件吗?@DavyJonesUA这是一个解决方案是的。另一个选择是,如果你不在乎它是胚珠状的,而不是完美的圆形,你仍然可以使用一个png,但可以使它成为一个9面片,允许在中间拉伸。嗨,DavyJonesUA,你是如何实现circle VideoView的?你好,穆拉里·甘尼桑,最好的解决方案是“在普通(方形)视频视图的顶部放置一个“遮罩”层”你好,大卫·琼尼苏亚,是的,我放置了遮罩,但遮罩内部没有填充视频,顶部和底部都有空间