天气

该示例实现了一个天气应用程序,结合不同的动画效果来模拟各种天气情况,如晴天、阴天、雨天、雪天、暴风雨和大风天。



核心功能

天气列表滑动

  • 用户可以通过滑动来切换当前显示的天气类型。

  • 不同的天气类别会触发相应的动画效果。

天气动画的实现

  • 晴天:具有光线变化的动画;光源图像随着时间变化不断改变透明度和位置。

  • 阴天:简单的图像显示,包括阳光和云。

  • 雨天:雨滴图标从屏幕顶部下降,并且在屏幕底部消失后重新生成。

  • 雪天:雪花图标缓慢下落,同时水平漂移,当达到一定位置后重新生成。

  • 暴风雨:闪电图标逐渐显现和隐去,不同的闪电图使用不同的透明度循环。

  • 大风天:叶子图标水平移动并旋转,当超出屏幕时重新生成。

图像创建与使用

  • 使用不同图像二进制数据来创建和显示相应的天气图标及效果。

  • 图像可以通过位置、大小、透明度以及旋转角度进行操作。

其他界面元素

  • 面板使用上下翻转效果和透明度变化来进行视觉效果展示。

实现

代码

函数 static void weather_app(gui_view_t *view) 位于文件 example/application/screen_410_502/app_weather.c

控件树设计

https://foruda.gitee.com/images/1755671160191008924/e32fe511_13408154.png

控件树设计