java - 如何在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呢?
解决方案
您不能直接更改surface view
角(形状)。但是你可以CardView
通过使用来改变你的角落
app:cardCornerRadius="10dp"
app:cardPreventCornerOverlap="false"
并设置SurfaceView
match_parent
可以覆盖的cardView
。
为什么不能改变表面视图形状?答案在这里
推荐阅读
- php - 向问题添加评论内容
- sql-server - 某些条件下的 MS SQL 备份和恢复
- python-hypothesis - 如何在假设中使用复合策略(hypothesis.errors.InvalidArgument:Expected SearchStrategy but got function)
- java - 如何解决错误“不是有效的 XPath 表达式”
- c# - SelectListItem 投影的 EFCore SqlException 使用值和文本的相同属性
- ruby-on-rails - 在 Ruby on Rails 应用程序中应该使用 Rspec 测试什么
- python - 在 sys 中循环获取更多参数
- c# - 如何更新 Windows Server 中的 Windows 语言代码标识符?
- ios - CallKit com.apple.CallKit.error.calldirectorymanager 错误 1
- pdf - PDF 电子签名 ByteRange