1234567891011121314151617181920212223242526272829303132333435363738394041#include "lvgl/lvgl.h"typedef enum { STATE_IDLE, STATE_PRESSED, STATE_RELEASED} SliderState;static SliderState state = STATE_IDLE;static void slider_event_cb(lv_event_t *e) { lv_event_code_t code = lv_event_get_code(e); lv_obj_t *slider = lv_event_get_target(e); switch (state) { case STATE_IDLE: if (code == LV_EVENT_PRESSED) { state = STATE_PRESSED; LV_LOG_USER("Slider pressed"); } break; case STATE_PRESSED: if (code == LV_EVENT_RELEASED) { state = STATE_RELEASED; LV_LOG_USER("Slider released"); } break; case STATE_RELEASED: // if (code == LV_EVENT_PRESS_LOST || code == LV_EVENT_LEAVE) { state = STATE_IDLE; // } break; } if (code == LV_EVENT_VALUE_CHANGED) { // 处理值变化事件 LV_LOG_USER("Slider value changed: %d", lv_slider_get_value(slider)); }}