What do you want to achieve?
Make all buttons the same size
What have you tried so far?
Changed the Map, added a dummy button
Code to reproduce
lv_obj_t *obj = lv_buttonmatrix_create(parent_obj);
lv_obj_set_pos(obj, 45, 90);
lv_obj_set_size(obj, 399, 195);
//lv_obj_set_pos(obj, 36, 2);
//lv_obj_set_size(obj, 100, 40);
lv_btnmatrix_set_one_checked(obj, true);
lv_obj_add_event_cb(obj, event_handler_btn_matrix, LV_EVENT_ALL, NULL);
lv_obj_add_style(obj, get_style_blue_button_MAIN_DEFAULT(), LV_PART_ITEMS | LV_STATE_DEFAULT);
lv_obj_add_style(obj, get_style_gold_button_MAIN_CHECKED_PRESSED(), LV_STATE_CHECKED); // Apply to the items (buttons)
static const char *map[] = {"Microphone", "SD Drive","\n", "BlueTooth", "YouTube","\n", "Spotify",
NULL,
};
lv_buttonmatrix_set_map(obj, map);
lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_buttonmatrix_set_button_ctrl(obj, 0, LV_BUTTONMATRIX_CTRL_CHECKABLE);
lv_buttonmatrix_set_button_ctrl(obj, 1, LV_BUTTONMATRIX_CTRL_CHECKABLE);
lv_buttonmatrix_set_button_ctrl(obj, 2, LV_BUTTONMATRIX_CTRL_CHECKABLE);
lv_buttonmatrix_set_button_ctrl(obj, 3, LV_BUTTONMATRIX_CTRL_CHECKABLE);
lv_buttonmatrix_set_button_ctrl(obj, 4, LV_BUTTONMATRIX_CTRL_CHECKABLE);
Screenshot and/or video
Environment
- MCU/MPU/Board:
- ESP32 Dev Module
- LVGL version: See
lv_version.h - 9.4
