•LV_EVENT_FOCUSED 该对象集中在其组中 •LV_EVENT_DEFOCUSED 该对象在其组中散焦 一般事件 LVGL库发送的其他一般事件。 •LV_EVENT_DELETE 该对象正在被删除。释放相关的用户分配数据。 特殊事件 这些事件特定于特定的对象类型。 •LV_EVENT_VALUE_CHANGED 对象值已更改(例如,对于滑块) •LV_EVENT_INSER...
lvgl控件与事件的绑定接口为lv_obj_set_event_cb(btn1, event_handler); 而事件的发送函数为 lv_res_t lv_event_send(lv_obj_t * obj, lv_event_t event, const void * data) { if(obj == NULL) return LV_RES_OK; LV_ASSERT_OBJ(obj, LV_OBJX_NAME); lv_res_t res; res = lv_event_s...
static void btn_event_cb(lv_event_t * e) { lv_event_code_t code = lv_event_get_code(e); lv_obj_t * obj = lv_event_get_target(e); if(code == LV_EVENT_FOCUSED) { // 处理焦点获取事件 lv_obj_set_style_bg_color(obj, lv_color_hex(0xff0000), LV_PART_MAIN); } else if(...
LV_PART_SCROLLBAR当要展示的文本大于部件的大小时,显示的滚动条部分。 LV_PART_SELECTED选中文本时,突出显示的部分。label只能使用 text_color 和 bg_color 样式属性。 创建标签:lv_obj_t * label = lv_label_create(parent); 1.1 设置显示文本 创建了标签部件之后我们就可以设置文本来显示。
// if(code == LV_EVENT_FOCUSED) { // lv_keyboard_set_textarea(kb, ta); // 将键盘与文本进行关联 // lv_obj_clear_flag(kb, LV_OBJ_FLAG_HIDDEN); // 清除键盘的隐身标志,显示键盘 // } /* 获取文本失去焦点事件 */ if(code == LV_EVENT_DEFOCUSED) { ...
lv_timer_handler(); /* let the GUI do its work */ vTaskDelay(10); } } 当数据堆有数据,心跳会使LVGL按照堆中数据调用多次屏幕填充函数来刷新屏幕,这个函数以及屏幕的尺寸需要使用者提供给LVGL static lv_disp_drv_t disp_drv; lv_disp_drv_init( &disp_drv ); ...
void wallpaper_event_handler(lv_event_t *e) { // 隐藏键盘 lv_obj_add_flag(objects.obj0, LV_OBJ_FLAG_HIDDEN); } // user输入判断事件 void U_check_event_handler(lv_event_t *e) { lv_obj_t *us = lv_event_get_target(e); ...
要手动向对象发送事件,请使用lv.event_send(obj, lv.EVENT.type, param) 请阅读事件概述章节,以了解有关事件的更多信息。 样式(Styles)# 可以使用obj.add_style(new_style, selector)函数向对象添加新样式。 selector可以组合使用。 例如:lv.PART.SCROLLBAR | lv.STATE.PRESSED。
lv_disp_drv_init( &disp_drv ); disp_drv.hor_res = LCD_W; disp_drv.ver_res = LCD_H; disp_drv.flush_cb = my_disp_flush; disp_drv.draw_buf = &draw_buf; lv_disp_drv_register( &disp_drv ); Copy my_disp_flush函数需要调用我们屏幕的填充函数(这一步主要是为了将LVGL接口的参数与屏...
static void birthday_event_cb(lv_event_t * e) { lv_event_code_t code = lv_event_get_code(e); lv_obj_t * ta = lv_event_get_target(e); if(code == LV_EVENT_FOCUSED) { if(lv_indev_get_type(lv_indev_get_act()) == LV_INDEV_TYPE_POINTER) { if(calendar == NULL) { lv_...