基本使用
static lv_obj_t* btn;
static void btn_event_handler(lv_obj_t* obj, lv_event_t event) { if (obj == btn) { if (event == LV_EVENT_CLICKED) { printf(“Btn1 Clicked\n”); } } }
void lv_ex_style_1(void) { btn = lv_btn_create(lv_scr_act(), NULL); lv_obj_t* label = lv_label_create(btn, NULL); lv_label_set_text(label, “button”);
lv_obj_set_event_cb(btn, btn_event_handler);
}
<a name="KtWpv"></a>
#### 事件列表lv_event_t
enum {
LV_EVENT_PRESSED, /< The object has been pressed*/
LV_EVENT_PRESSING, /< The object is being pressed (called continuously while pressing)/
LV_EVENT_PRESS_LOST, /**< User is still pressing but slid cursor/finger off of the object /
LV_EVENT_SHORT_CLICKED, /< User pressed object for a short period of time, then released it. Not called if dragged. */
LV_EVENT_LONG_PRESSED, /< Object has been pressed for at least LV_INDEV_LONG_PRESS_TIME. Not called if dragged./
LV_EVENT_LONG_PRESSED_REPEAT, /**< Called after LV_INDEV_LONG_PRESS_TIME in every
LV_INDEV_LONG_PRESS_REP_TIME ms. Not called if dragged./
LV_EVENT_CLICKED, /< Called on release if not dragged (regardless to long press)*/
LV_EVENT_RELEASED, /< Called in every cases when the object has been released/
LV_EVENT_DRAG_BEGIN,
LV_EVENT_DRAG_END,
LV_EVENT_DRAG_THROW_BEGIN,
LV_EVENT_GESTURE, /**< The object has been gesture/
LV_EVENT_KEY,
LV_EVENT_FOCUSED,
LV_EVENT_DEFOCUSED,
LV_EVENT_LEAVE,
LV_EVENT_VALUE_CHANGED, /< The object’s value has changed (i.e. slider moved) */
LV_EVENT_INSERT,
LV_EVENT_REFRESH,
LV_EVENT_APPLY, /< “Ok”, “Apply” or similar specific button has clicked/
LV_EVENT_CANCEL, /**< “Close”, “Cancel” or similar specific button has clicked/
LV_EVENT_DELETE, /< Object is being deleted */
_LV_EVENT_LAST / Number of events/
};
typedef uint8_t lv_event_t; /**< Type of event being sent to the object. /
```
