java - 如何在android中创建圆角surfaceview

标签 java android kotlin surfaceview android-videoview

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

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

<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>

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

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

最佳答案

您不能直接更改表面 View 角(形状)。但是您可以使用

更改 CardView
app:cardCornerRadius="10dp" 
app:cardPreventCornerOverlap="false"

并设置可以覆盖cardViewSurfaceView match_parent

为什么不能改变表面 View 形状? 答案是here

关于java - 如何在android中创建圆角surfaceview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57674601/

相关文章:

java - 为什么在 GWT(或任何网络应用程序)中使用命令模式?

android - 如何在android中加载数据时避免黑屏

kotlin - 如何在 Kotlin 中使用类型安全构建器?

android如何以7位或更多位精度获取当前位置

java - Kotlin: 'public' 属性公开其 'local' 类型参数 <未提供名称>

android - 每次 Activity 暂停和恢复时,StateFlow 都会发出

JavaFX 11 : IllegalAccessError when creating Label

java - spring mvc Junit 使用mockito作为post方法

java - 设置一个 int 使其始终是较大的值?

java - 无法将元素添加到 map - 不支持的操作异常