实现漫天飞雪的动画效果

冬天来了, 大雪纷飞, 好冷啊. 在应用里, 也可以实现漫天飞雪的动画, 让我来介绍一下吧.

更多: http://www.wangchenlong.org/

snow-logo

我们的应用也可以有一些冬天的效果, 教大家做一个下雪的动画效果, 参考.

主要
(1) 隐藏status bar, 全屏显示图片.
(2) 绘制多个点, 重绘页面, 实现移动效果.
(3) 回收点, 避免重复创建.

我喜欢用注释说话, 请大家多关注代码中的注释.

本文源码的GitHub下载地址

欢迎Follow我的GitHub: https://github.com/SpikeKing

 


雪花类

雪花的属性包含: 随机量, 位置, 增量, 大小, 角度, 画笔.
绘画的过程中, 使用角度会移动点的位置, 每次速率都不同.
当雪花移出屏幕时, 会重新使用, 在屏幕的顶端重新落下.
算法参考.

随机数生成器, 包含区间随机和上界随机.


雪花视图

雪花视图, DELAY时间重绘, 绘制NUM_SNOWFLAKES个雪花.
初始化在onSizeChanged中进行, 绘制在onDraw中进行.

使用getHandler().postDelayed(runnable, DELAY);刷新页面.


全屏布局

全屏布局

status bar默认是不会被透明化的, 需要使用CollapsingToolbarLayout,
替换status bar的样式, 否则会留有一定高度, 即使透明也不会填充.

样式


参考

可以在冬天的时候, 为应用添加些有趣的东西, 让编程更有趣!

OK, that’s all! Enjoy it!

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

1 3 收藏 评论

关于作者:Spike

硕士毕业, 任职于春雨移动健康, 从事移动端架构工作. 做了六年技术研发, 还会一直坚持下去. 分享一些自己的开发经验. 个人主页 · 我的文章 · 6 ·    

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部