SurfaceView实现圆角矩形预览
来源:互联网 发布:手机淘宝取消不了退款 编辑:程序博客网 时间:2024/05/17 07:45
android中,文本、按钮实现圆角样式只需要在其背景中定义corners属性设置radius即可。
在SurfaceView中同样可以实现此种效果,以丰富预览样式。
比如用SurfaceView要实现圆角矩形预览的效果,自定义View继承于SurfaceView,然后重写其draw方法,这点不同于ImageView实现圆角效果,ImageView要重写其onDraw方法。具体代码,如下。
@Overridepublic void draw(Canvas canvas) { Path path = new Path(); //用矩形表示SurfaceView宽高 RectF rect = new RectF(0, 0, this.getWidth(), this.getHeight()); //15.0f即是圆角半径 path.addRoundRect(rect, 15.0f, 15.0f, Path.Direction.CCW); //裁剪画布,并设置其填充方式 canvas.clipPath(path, Region.Op.REPLACE); super.draw(canvas); }
同理,要实现其他样式的效果,只需要调用Canvas类中的其他画图方法就好。
不过,要想实现预览,还需要在布局中加入背景,一般设置为透明色就好了。
最后,上图展示实现效果。
附:ImageView实现圆角代码@Overrideprotected void onDraw(Canvas canvas) {Path clipPath = new Path();int w = this.getWidth();int h = this.getHeight();clipPath.addRoundRect(new RectF(0, 0, w, h), 10.0f, 10.0f, Path.Direction.CW);canvas.clipPath(clipPath);super.onDraw(canvas);}
0 0
- SurfaceView实现圆角矩形预览
- 如何实现TextureView或者SurfaceView 预览框为圆角
- Android开发 摄像头SurfaceView预览 背景带矩形框 实现(原理:双surfaceview,顶层画矩形框,底层预览视频)
- Android开发 摄像头SurfaceView预览 背景带矩形框 实现(原理:双surfaceview,顶层画矩形框,底层预览视频)
- 只拍摄SurfaceView预览界面特定区域内容(矩形框)---完整实现(原理:底层SurfaceView+上层绘制ImageView)
- 摄像头预览的背景带矩形框效果的实现(原理:双surfaceview,顶层画矩形框,底层预览视频)
- Android摄像头:只拍摄SurfaceView预览界面特定区域内容(矩形框)---完整实现(原理:底层SurfaceView+上层绘制ImageView)
- Android摄像头:只拍摄SurfaceView预览界面特定区域内容(矩形框)---完整实现(原理:底层SurfaceView+上层绘制ImageView)
- Android摄像头:只拍摄SurfaceView预览界面特定区域内容(矩形框)---完整实现(原理:底层SurfaceView+上层绘制ImageView)
- Anroid TextureView、SurfaceView的Camera预览实现
- 安卓调用相机和自定义相机SurfaceView实现预览
- 通过Camera、SurfaceView、自己实现拍照及预览效果
- C++实现圆角矩形
- 圆角矩形实现代码
- css实现圆角矩形
- 用div实现圆角矩形
- 圆角矩形的html+css实现
- SWT 圆角矩形窗口实现
- 单纯只是为了方便查看而已 --CSS篇
- static各个语言运用
- wget命令
- Android静态安全检测 -> Activity组件暴露
- android xmlns:tools用法
- SurfaceView实现圆角矩形预览
- 8 个 jQuery 的 PDF 浏览插件
- ios 屏幕旋转,横屏竖屏
- Android自定义view详解
- ROS基础学习笔记(一)
- GCD 2种并发队列,2种串行对象的创建
- keepalived + redis配置
- opencv 骨架提取/图像细化
- java学习总结(16.07.12)java的枚举类