首页 > 解决方案 > 如何在android中创建圆角surfaceview

问题描述

我想制作一个可以有圆角的表面视图。这个表面视图对于渲染摄像机很有用。

我已经尝试使用此代码在 CardView 中添加表面视图。

<android.support.v7.widget.CardView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cvCard"
    android:layout_width="150dp"
    android:layout_height="150dp"
    android:clipChildren="true"
    android:clipToPadding="false"
    app:cardCornerRadius="15dp"
    app:cardPreventCornerOverlap="false"
    app:cardUseCompatPadding="false">

    <Surfaceview is Added Programatically>

</android.support.v7.widget.CardView>

这段代码的结果就是这张图片。正如您在圆角中看到的那样,表面视图仍然可见。它在卡片视图中并不完全是圆形的,它总是呈矩形。

那么有没有什么办法可以实现圆角Surfaceview呢?

标签: javaandroidkotlinsurfaceviewandroid-videoview

解决方案


您不能直接更改surface view角(形状)。但是你可以CardView通过使用来改变你的角落

app:cardCornerRadius="10dp" 
app:cardPreventCornerOverlap="false"

并设置SurfaceView match_parent可以覆盖的cardView

为什么不能改变表面视图形状?答案在这里


推荐阅读