LVGL-------矩阵3
- 软件开发
- 2025-09-19 03:03:01

static void event_cb(lv_event_t * e) { lv_obj_t * obj = lv_event_get_target(e); uint32_t id = lv_btnmatrix_get_selected_btn(obj); bool prev = id == 0 ? true : false; bool next = id == 6 ? true : false; if(prev || next) { /Find the checked button/ uint32_t i; for(i = 1; i < 7; i++) { if(lv_btnmatrix_has_btn_ctrl(obj, i, LV_BTNMATRIX_CTRL_CHECKED)) break; }
if(prev && i > 1) i--; else if(next && i < 5) i++; lv_btnmatrix_set_btn_ctrl(obj, i, LV_BTNMATRIX_CTRL_CHECKED); }}
/**
Make a button group (pagination) */ void lv_example_btnmatrix_3(void) { static lv_style_t style_bg; lv_style_init(&style_bg); lv_style_set_pad_all(&style_bg, 0); lv_style_set_pad_gap(&style_bg, 0); lv_style_set_clip_corner(&style_bg, true); lv_style_set_radius(&style_bg, LV_RADIUS_CIRCLE); lv_style_set_border_width(&style_bg, 0);
static lv_style_t style_btn; lv_style_init(&style_btn); lv_style_set_radius(&style_btn, 0); lv_style_set_border_width(&style_btn, 1); lv_style_set_border_opa(&style_btn, LV_OPA_50); lv_style_set_border_color(&style_btn, lv_palette_main(LV_PALETTE_GREY)); lv_style_set_border_side(&style_btn, LV_BORDER_SIDE_INTERNAL); lv_style_set_radius(&style_btn, 0);
static const char * map[] = {LV_SYMBOL_LEFT, “1”, “2”, “3”, “4”, “5”, LV_SYMBOL_RIGHT, “”};
lv_obj_t * btnm = lv_btnmatrix_create(lv_scr_act()); lv_btnmatrix_set_map(btnm, map); lv_obj_add_style(btnm, &style_bg, 0); lv_obj_add_style(btnm, &style_btn, LV_PART_ITEMS); lv_obj_add_event_cb(btnm, event_cb, LV_EVENT_VALUE_CHANGED, NULL); lv_obj_set_size(btnm, 225, 35);
/Allow selecting on one number at time/ lv_btnmatrix_set_btn_ctrl_all(btnm, LV_BTNMATRIX_CTRL_CHECKABLE); lv_btnmatrix_clear_btn_ctrl(btnm, 0, LV_BTNMATRIX_CTRL_CHECKABLE); lv_btnmatrix_clear_btn_ctrl(btnm, 6, LV_BTNMATRIX_CTRL_CHECKABLE);
lv_btnmatrix_set_one_checked(btnm, true); lv_btnmatrix_set_btn_ctrl(btnm, 1, LV_BTNMATRIX_CTRL_CHECKED);
lv_obj_center(btnm);
}
LVGL-------矩阵3由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“LVGL-------矩阵3”