Mutual exclusivity of child objects under a parent object(btn、switch)

Hi @Sang19970619 ,

Here is a code snippet I posted for another question here :

static void event_handler(lv_event_t * e) {

    lv_event_code_t code = lv_event_get_code(e);
    lv_obj_t * obj = lv_event_get_target(e);

    if(code == LV_EVENT_PRESSED) {
        uint32_t id = lv_btnmatrix_get_selected_btn(obj);
        if( lv_btnmatrix_has_btn_ctrl( obj, id, LV_BTNMATRIX_CTRL_CHECKED ) ) {
        	lv_btnmatrix_clear_btn_ctrl(obj, id, LV_BTNMATRIX_CTRL_CHECKED);
        } else {
        	lv_btnmatrix_clear_btn_ctrl_all(obj, LV_BTNMATRIX_CTRL_CHECKED);
        	lv_btnmatrix_set_btn_ctrl(obj, id, LV_BTNMATRIX_CTRL_CHECKED);
        }
    }
}

static const char * btnm_map[] = {"1", "2", "3", "4", "5", "" };
void button_demo(void) {

    lv_obj_t * btnm1 = lv_btnmatrix_create(lv_scr_act());
    lv_btnmatrix_set_map(btnm1, btnm_map);
    lv_obj_align(btnm1, LV_ALIGN_CENTER, 0, 0);
    lv_obj_add_event_cb(btnm1, event_handler, LV_EVENT_PRESSED, NULL);
}

I think this can be adapted to your requirements.

I hope that helps.

Kind Regards,

Pete