贴纸效果优惠券
来源:互联网 发布:预产期计算软件下载 编辑:程序博客网 时间:2024/04/28 03:55
现在比较流行贴纸效果的优惠券,不多说先看UI图
可以看到有两个凹进去的半圆,所以用自定义view容易实现,下面放实现的效果图:
模拟器上效果不是太好,真机的话效果会好很多。
实现思路
最主要就是实现 这种效果,然后把它放在布局最外层当背景。
实现方法就是先一个带圆角的矩形,然后画虚线,最后画圆,画圆的时候要注意,需要画两个重叠的半圆,一个是填充模式,作用是可以设置半圆的颜色,然后遮住矩形的边,另一个是描边模式,实现凹边效果。
代码
protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); width = w; height = h; }
进行画图
protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 画圆角矩形(RectF) canvas.drawRoundRect(0, 1, width, height-1, 10, 10, recPaint); // 画虚线. for (int i = 0; i < linenumber; i++) { canvas.drawLine(width/3,20*i,width/3,20*i+10,dashLinePaint); } // 画半圆 canvas.drawCircle(width/3, 0, semicircleRadius, semicirclePaint); canvas.drawCircle(width/3, 0, semicircleRadius, semicirclePaint2); canvas.drawCircle(width/3, height, semicircleRadius, semicirclePaint); canvas.drawCircle(width/3, height, semicircleRadius, semicirclePaint2); }
这里可能有人不明白了,画半圆怎么用了画圆的方法,这里由于坐标选取的原因,画布只有那么大,画一个圆只在画布上显示了一半,所以画出来是半圆。注意的是 // 画圆角矩形(RectF)
canvas.drawRoundRect(0, 1, width, height-1, 10, 10, recPaint);这个方法,top我设置的是1,不应该是0吗?如果设为0的话,效果是这样的
what? 你会发现矩形的线没有被完全遮住,所以我修改了画矩形时的坐标。
阅读全文
0 0
- 贴纸效果优惠券
- ImageProcessing贴纸效果
- 使用Sticker.js实现贴纸效果
- 自定义View之描边、便签、贴纸效果
- 【css 效果】边沿打孔的优惠券
- Android自定义View实现优惠券效果
- 自定义控件——边缘凹凸的优惠券效果
- Android 自定义View之边缘凹凸的优惠券效果
- Android 自定义View之边缘凹凸的优惠券效果
- Android自定义View--简单实现凹凸优惠券效果
- 使用jbox2d物理引擎打造摩拜单车贴纸动画效果
- jbox2d贴纸动画
- 微信摇一摇优惠券
- 自定义优惠券
- 自定义优惠券
- PAT优惠券
- 优惠券2
- IE网页贴纸打印程序
- AutoCAD.P&ID.v2008.32bit-ISO 1DVD(工艺流程图绘制工具)
- jQuery ajax
- Android7 Led闪光灯的控制 从底层到上层
- MEDIATOR(中介者)——对象行为型模式
- 智能电网_分布式_网络优化_latest--持续更新
- 贴纸效果优惠券
- 2017年11月爬虫用的技术
- VueJs 监听 window.resize 方法
- 网络抓包工具Wireshark如何抓取本机包
- Redis的基本命令
- Hibernate 入门(1)
- PL/SQL developer连接数据库写法
- ORACLE WITH AS 用法
- Spring AOP 概念与术语