lvgl 重绘函数介绍
·
在lvgl 中也有前端的重绘概念,而触发重绘的函数就是类似vue中的$set。在数据改变后重新渲染界面。
在动态改变控件的颜色,边框样式等属性时,可以调用lvgl自带的 lv_obj_invalidate 函数就可以实现页面的更新。
在页面共享的控件中通过按钮切换不同的显示内容时,可以很好的利用该函数,其只有一个参数就是当前变化的控件本身。
源码如下:
void lv_obj_invalidate(const lv_obj_t * obj)
{
LV_ASSERT_OBJ(obj, MY_CLASS);
/*Truncate the area to the object*/
lv_area_t obj_coords;
lv_coord_t ext_size = _lv_obj_get_ext_draw_size(obj);
lv_area_copy(&obj_coords, &obj->coords);
obj_coords.x1 -= ext_size;
obj_coords.y1 -= ext_size;
obj_coords.x2 += ext_size;
obj_coords.y2 += ext_size;
lv_obj_invalidate_area(obj, &obj_coords);
}
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)