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: 获取小部件的内部大小

07-25 09:23