android刮奖控件,资深程序员教你一步步打造万能的Android刮奖控件

原标题:资深程序员教你一步步打造万能的Android刮奖控件

实现效果

f1f739c0d14efcb7a99dea6474bf5ba0.gif

这只是基本实现效果的一部分,下面还有元素没有演示

大致的设计思路:

绘制出刮层效果。

实现刮开效果。

添加事件监听器,完善常用函数。实现刮开效果。

优化界面,添加水印

直接开始实现吧,

这里给大家推荐一个不管是新手还是大牛学习提升Java知识的好去处,就是我自己建的Java学习交流群515675832,答应大家前来学习交流哦,也欢迎大家前来分享自己的Java学习经验哦。

1f111c9c3912082c674da026f0d012d8.png

在 Demo 中添加如下布局

aa0567163e11b22d0ae9d9b8aa81770a.png

看下效果

5fa7ab3ff7d881115c951c4f044bf5b0.gif

是不是有效果了

还可以直接在xml布局和java代码中设置刮层的颜色了。那我们开始下一步

6eea38b92b36789124642fd93e8f4fb4.png

刮奖效果也完成了,同样看下效果

579db1a849267a985e3e892e6242c34b.gif

可以刮了,有没有

其实为了美观,很多刮奖效果都会在刮层上添加自家logo。那我们也添加一下

d5a35beeab6ad522ca7082453c14915e.png

这里添加的是一个支的logo,大小比例自己可以调的

021f87eb2d06252271caf4bfe0015c86.gif

就问你帅不帅,难不难

最后一步了,这里用mMaskBitmap中的像素信息值,算得透明像素个数占总像素个数的比例,当这个比例超过一定阈值的时候,我们认为刮奖完成了。再添加监听器接口和设置API就可以了哦。

最后带上实现过程中用到的代码哦

98473632230a352e05cea8268acafef5.gif

当然这只是最后一段的代码。完整文档版代码以上传至群文件,515675832

那我们看看这个最终效果吧

45cc1c20ad9afc2da3a0648803a0efe6.gif

其实这个项目最后实现起来还有一个问题,可能是我copy的时候弄错了一个地方,就是这代码实现过程中会出现大量的int数组,产生内存抖动,这我也很无奈啊,大家有没有什么好的思路呢,可以在下方赐教一下啊。

796d990be6815cb046a4bd935be3ed1f.gif

实现效果

634073c7b24ee1d7b0f578190e871a45.gif

这只是基本实现效果的一部分,下面还有元素没有演示

大致的设计思路:

绘制出刮层效果。

实现刮开效果。

添加事件监听器,完善常用函数。实现刮开效果。

优化界面,添加水印

直接开始实现吧,

这里给大家推荐一个不管是新手还是大牛学习提升Java知识的好去处,就是我自己建的Java学习交流群515675832,答应大家前来学习交流哦,也欢迎大家前来分享自己的Java学习经验哦。

dbc5fa8c94ec77dae02054bf5d7b4e26.png

在 Demo 中添加如下布局

5a1e6fc7e9b521a554fa5b5d1479ae4c.png

看下效果

411acba3a1941f667b17094ff6e9c7cd.gif

是不是有效果了

还可以直接在xml布局和java代码中设置刮层的颜色了。那我们开始下一步

34c05467df0f8dca8026daea69da588c.png

刮奖效果也完成了,同样看下效果

5ba7e922aebf2d7f7635a7ef2f99675c.gif

可以刮了,有没有

其实为了美观,很多刮奖效果都会在刮层上添加自家logo。那我们也添加一下

edc3feb6c8e965918be2f7b45ec8f94b.png

这里添加的是一个支的logo,大小比例自己可以调的

e4ddee08d56c481cccd93646daa34a9d.gif

就问你帅不帅,难不难

最后一步了,这里用mMaskBitmap中的像素信息值,算得透明像素个数占总像素个数的比例,当这个比例超过一定阈值的时候,我们认为刮奖完成了。再添加监听器接口和设置API就可以了哦。

最后带上实现过程中用到的代码哦

74aceec904fc24c3f09f821053d075d0.gif

当然这只是最后一段的代码。完整文档版代码以上传至群文件,515675832

那我们看看这个最终效果吧

7b24e9aa23d039bfba86d65cf0471c8a.gif

其实这个项目最后实现起来还有一个问题,可能是我copy的时候弄错了一个地方,就是这代码实现过程中会出现大量的int数组,产生内存抖动,这我也很无奈啊,大家有没有什么好的思路呢,可以在下方赐教一下啊。

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值