1.2 Event Codes
Input device event
LV_EVENT_PRESSED: 对象已被按下
LV_EVENT_PRESSING: 对象正在被按下(在持续按下时调用)
LV_EVENT_PRESS_LOST: 对象仍然被按下,但光标/手指滑出对象
LV_EVENT_SHORT_CLICKED: 对象被短时间按下,然后释放。如果滚动,则不调用。
LV_EVENT_LONG_PRESSED: 对象已被按下至少 long_press_time。如果滚动,则不调用。
LV_EVENT_LONG_PRESSED_REPEAT: 在每个 long_press_repeat_time 毫秒后调用。如果滚动,则不调用。
LV_EVENT_CLICKED: 在释放时调用,如果没有滚动(与长按无关)
LV_EVENT_RELEASED: 在对象被释放的所有情况下调用
LV_EVENT_SCROLL_BEGIN: 滚动开始。事件参数是指向滚动动画的指针。可以修改。
LV_EVENT_SCROLL_THROW_BEGIN:
LV_EVENT_SCROLL_END: 滚动结束
LV_EVENT_SCROLL: 滚动
LV_EVENT_GESTURE: 检测到手势。使用 lv_indev_get_gesture_dir(lv_indev_active()) 获取手势。
LV_EVENT_KEY: 将键发送到对象。使用 lv_indev_get_key(lv_indev_active()) 获取键。
LV_EVENT_FOCUSED: 对象获得焦点
LV_EVENT_DEFOCUSED: 对象失去焦点
LV_EVENT_LEAVE: 对象失去焦点但仍然被选中
LV_EVENT_HIT_TEST: 执行高级命中测试
LV_EVENT_INDEV_RESET: 输入设备已被重置
Drawing events
LV_EVENT_COVER_CHECK: 检查对象是否完全覆盖一个区域。事件参数是 lv_cover_check_info_t *。
LV_EVENT_REFR_EXT_DRAW_SIZE: 获取对象周围所需的额外绘制区域(例如,用于阴影)。事件参数是 int32_t * 以存储大小。
LV_EVENT_DRAW_MAIN_BEGIN: 开始主绘制阶段
LV_EVENT_DRAW_MAIN: 执行主绘制
LV_EVENT_DRAW_MAIN_END: 完成主绘制阶段
LV_EVENT_DRAW_POST_BEGIN: 开始后绘制阶段(当所有子元素都已绘制时)
LV_EVENT_DRAW_POST: 执行后绘制阶段(当所有子元素都已绘制时)
LV_EVENT_DRAW_POST_END: 完成后绘制阶段(当所有子元素都已绘制时)
LV_EVENT_DRAW_TASK_ADDED: 添加绘制任务
Special events
LV_EVENT_VALUE_CHANGED: 对象的值已更改(例如,滑块移动)
LV_EVENT_INSERT: 文本已插入到对象中。事件数据是被插入的 char *。
LV_EVENT_REFRESH: 通知对象刷新其上的某些内容(供用户使用)
LV_EVENT_READY: 进程已完成
LV_EVENT_CANCEL: 进程已被取消
Other events
LV_EVENT_CREATE: 对象正在被创建
LV_EVENT_DELETE: 对象正在被删除
LV_EVENT_CHILD_CHANGED: 子元素已被移除、添加或其大小、位置已更改
LV_EVENT_CHILD_CREATED: 子元素已被创建,始终冒泡到所有父级
LV_EVENT_CHILD_DELETED: 子元素已被删除,始终冒泡到所有父级
LV_EVENT_SCREEN_UNLOAD_START: 屏幕卸载已开始,立即触发当 scr_load 被调用时
LV_EVENT_SCREEN_LOAD_START: 屏幕加载已开始,触发于屏幕切换延迟过期时
LV_EVENT_SCREEN_LOADED: 屏幕已加载
LV_EVENT_SCREEN_UNLOADED: 屏幕已卸载
LV_EVENT_SIZE_CHANGED: 对象坐标/大小已更改
LV_EVENT_STYLE_CHANGED: 对象的样式已更改
LV_EVENT_LAYOUT_CHANGED: 子元素位置由于布局重新计算而发生变化
LV_EVENT_GET_SELF_SIZE: 获取小部件的内部大小