colorwheel的相关API - lightdong/LVGL_Study GitHub Wiki

/part : main knob/

/如何是长按的话,可以依次调节色相、饱和度、色明度等参数/

/如何是双击的话,可以重置参数/

lv_obj_t *obj1 = lv_obj_create(lv_scr_act());
lv_obj_t *colorwheel1 = lv_colorwheel_create(lv_scr_act(),true);//第二个参数是句柄是否着色,这里选择开启
lv_obj_set_size(colorwheel1,120,120);
lv_obj_align(colorwheel1,LV_ALIGN_BOTTOM_RIGHT,0,0);

/也可以设置色环的初始颜色/

lv_colorwheel_set_rgb(colorwheel1,lv_color_hex(0x00ff00));

/色环也有回调事件:value_changed/

lv_obj_add_event_cb(colorwheel1,colorwheel_cb,LV_EVENT_VALUE_CHANGED,obj1);

/手动设置模式/

//LV_COLORWHEEL_MODE_HUE//色相
//LV_COLORWHEEL_MODE_SATURATION//饱和度
//LV_COLORWHEEL_MODE_VALUE//色明度
lv_colorwheel_set_mode(colorwheel1,LV_COLORWHEEL_MODE_HUE);
lv_colorwheel_set_mode_fixed(colorwheel1,true);//关闭长按切换模式的功能,一直是同一个界面

/色环的回调函数/

static void colorwheel_cb(lv_event_t *e){
    lv_obj_t *target = lv_event_get_target(e);
    lv_obj_t *user_data = lv_event_get_user_data(e);
    lv_color_t wheelcolor = lv_colorwheel_get_rgb(target);
    lv_obj_set_style_bg_color(user_data,wheelcolor,LV_STATE_DEFAULT | LV_PART_MAIN);
}