色环部件(lv_colorwheel)
在UI设计中,色环部件一般用作颜色选择器。
色环部件的相关API
lv_obj_t *obj;
void event_cb(lv_event_t *e)
{
lv_obj_t *target = lv_event_get_target(e);
//知识点3:获取当前颜色
//获取当前选中颜色,并显示在基础部件obj上
lv_obj_set_style_bg_color(obj,lv_colorwheel_get_rgb(target),LV_PART_MAIN);
}
void my_gui()
{
//知识点1:创建色环部件
lv_obj_t *cw = lv_colorwheel_create(lv_scr_act(),true); //创建色环部件
lv_obj_set_style_arc_width(cw,20,LV_PART_MAIN); //设置宽度
lv_obj_center(cw); //设置在屏幕中心
//知识点2:设置当前选中颜色
lv_colorwheel_set_rgb(cw,lv_color_hex(0xff0000)); //设置当前选中颜色
lv_obj_add_event_cb(cw,event_cb,LV_EVENT_VALUE_CHANGED,NULL); //添加回调函数
obj = lv_obj_center(lv_scr_act()); //创建基础部件
lv_obj_center(); //设置在画面中心
//知识点4:设置色环模式
lv_colorwheel_set_mode(cw,LV_COLORWHEEL_MODE_HUE/STAUARTION/VALUE); //色相,饱和度,明度不太好用,有点bug
lv_colorwheel_set_mode_fixed(cw,true); //固定色环模式
}