欢迎光临
我们一直在努力

113、LVGL页面滚动与分页效果

LVGL页面滚动与分页效果

一个让我熬夜的滚动问题

去年做智能家居中控屏项目,客户要求页面切换像手机桌面一样顺滑。我用了lv_page,结果在STM32F429上跑起来,滑动时CPU占用率飙到80%,触摸响应延迟明显。更诡异的是,快速滑动时页面会卡在中间位置,既不是上一页也不是下一页——这就是典型的滚动边界处理不当。

后来翻LVGL源码才发现,默认的滚动动画用了三次贝塞尔曲线,在低端MCU上计算量太大。今天这篇笔记,就把我踩过的坑和最终方案拆开揉碎讲清楚。

滚动容器选型:别被API名字骗了

LVGL里能做滚动的组件有三个:lv_page、lv_roller和lv_win。很多人一上来就用lv_page,但实际项目中我推荐用lv_cont配合lv_obj_set_style_pad_all实现自定义滚动。

// 别这样写:直接创建page然后往里塞东西
lv_obj_t * page = lv_page

赞(0)
未经允许不得转载:171主机测评 » 113、LVGL页面滚动与分页效果
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址