如何在android中创建圆角SurfaceView?

时间:2014-08-04 18:39:07

标签: android

我正在开发一个Android应用来播放视频。为此,我使用SurfaceView。有没有办法让SurfaceView圆角?

我尝试使用以下代码制作圆角。它可以使Button,Layout,TextView圆角,但它不能在SurfaceView

上工作
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >


<!-- view background color -->


<!-- view border color and width -->
<stroke
    android:width="5dp"
    android:color="#FF0000" >
</stroke>

<!-- If you want to add some padding -->
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" >
</padding>

<!-- Here is the corner radius -->
<corners 
    android:radius="20dp">
</corners>

此代码在SurfceView上显示红色圆角边框,但视图本身没有圆角。

如何使SurfaceView成圆角?

请在这个问题上帮助我。

提前感谢

1 个答案:

答案 0 :(得分:0)

为了做到这一点,你必须处理视频的每一帧以掩盖它们。

检查lockCanvas的使用。基本上你必须创建一个辅助线程,它始终锁定画布,拍摄视频帧,屏蔽它,绘制它并释放画布。

查看这篇文章的示例:

http://androidtutorialsandtips.blogspot.com/2012/01/overriding-ondraw-method-in-surfaceview.html