Description
How to get slider in editing mode
What MCU/Processor/Board and compiler are you using?
Custom board STM32
What LVGL version are you using?
v7
What do you want to achieve?
I have a slider inside container, i want to set slider in editing mode. I want to avoid “clicking” on slider to get in edit mode.
I
I use encoder navigation
What have you tried so far?
i tried lv_group_set_editing, but with no effect
Code to reproduce
bool encoder_read (lv_indev_drv_t * drv, lv_indev_data_t*data)
{
data->enc_diff =TIM5_read();
if (!enc_pressed()) {
data->state = LV_INDEV_STATE_PR;
} else {
data->state = LV_INDEV_STATE_REL;
}
if (data->enc_diff != 0) {
data->key = data->enc_diff < 0 ? LV_KEY_LEFT : LV_KEY_RIGHT;
}
return false;
}
void draw_main_slider(char *title,uint8_t id)
{
lv_group_t* new_group = lv_group_create();
lv_indev_set_group(my_indev, new_group);
lv_group_remove_all_objs(g);
set_cont = lv_cont_create(lv_scr_act(), NULL);
lv_obj_set_user_data(set_cont,id);
lv_obj_set_size(set_cont, 200, 100);
lv_obj_align(set_cont, NULL, LV_ALIGN_CENTER, 0, 10);
settings_slider = lv_slider_create(set_cont, NULL);
lv_obj_set_width(settings_slider, 150);
lv_obj_align(settings_slider, NULL, LV_ALIGN_CENTER, 0, 0);
lv_group_add_obj(new_group, settings_slider);
lv_slider_set_range(settings_slider, 0, 32);
slider_label = lv_label_create(set_cont, NULL);
lv_label_set_text(slider_label, "0");
lv_obj_set_auto_realign(slider_label, true);
lv_obj_align(slider_label, settings_slider, LV_ALIGN_OUT_TOP_MID, 0, 10);
lv_obj_set_event_cb(settings_slider, main_slider_event_cb);
lv_group_set_editing(new_group,true);
}
Screenshot and/or video
If possible, add screenshots and/or videos about the current state.