littlevgl图形库基础应用
LittlevGL 是一个免费的开放源代码图形库, 它提供创建嵌入式 GUI 所需的
一切, 它具有易于使用的图形元素, 精美的视觉效果和低内存占用。
LittlevGL 官网: https://littlevgl.com/
GitHub 地址: https://github.com/littlevgl
对象
在littlevgl中,用户界面的基本构建块是对象object,称为控件、部件、比如button(按钮)、label(标签)。
对象的基本属性
所有的对象都有一些独立于对象本身的基本属性:
如位置、大小。如可以使用可以使用 lv_obj_set_xx() 和 lv_obj_get_xx() 来设置和获取这些属性。
lv_obj_set_pos(btn, 10, 10); /* 设置控件的位置 */
lv_obj_set_size(btn, 100, 100); /* 设置控件的大小 */
lv_obj_set_event_cb(btn, my_event_cb); /* 设置控件的事件回调函数 */
对象的专有属性
每个控件自己特有的属性,如button控件,state状态(按下或释放),就是其特有的属性。对于这些特有的属性,每个控件斗鱼独立的API来对属性进行设置,如:
lv_btn_set_state(btn,LV_BTN_STATE_PR); /* 设置按钮状态为按下 */
lv_btn_set_toggle(btn,true);/* 设置按钮状态是否可切换 */
对象工作机制
屏幕对象
屏幕对象是库初始化的时候就会存在的一个特殊对象, 可以理解为顶级父
对象, 所有控件在创建的时候都可以作为其子对象, 在创建控件的时候, 往往会先获取当前屏幕, 然后将屏幕作为其父对象, 例如:
lv_obj_t *scr = lv_disp_get_scr_act(NULL); /* 获取当前屏幕 */
lv_obj_t *label = lv_label_create(scr