双态按钮

说明:
默认显示图片ui_img_menu2_menu2_workout_status_100x100_png,点击图片切换

ui_img_menu2_menu2_workout_records_100x100_png,再次点击图片显示

ui_img_menu2_menu2_workout_status_100x100_png,即实现图片按钮切换图片

引入图片

LV_IMG_DECLARE(ui_img_menu2_menu2_workout_status_100x100_png);
static void event_cb(lv_event_t * e);

static void event_cb1(lv_event_t * e)
{
    LV_LOG_USER("event_cb1\n");

    static uint32_t cnt = 1;
    lv_obj_t * btn = lv_event_get_target(e);
    lv_obj_t * label = lv_obj_get_child(btn, 0);
    lv_label_set_text_fmt(label, "%"LV_PRIu32, cnt);
    cnt++;
        lv_obj_t * imgbtn1 = lv_imgbtn_create(lv_scr_act());
    lv_imgbtn_set_src(imgbtn1, LV_IMGBTN_STATE_RELEASED, &ui_img_menu2_menu2_workout_status_100x100_png, NULL, NULL);
    lv_obj_align(imgbtn1, LV_ALIGN_CENTER, 0, 0);
        /*Create a label on the image button*/
    lv_obj_t * labela = lv_label_create(imgbtn1);
    lv_label_set_text(labela, "event_cb1");
    lv_obj_align(labela, LV_ALIGN_CENTER, 0, 0);
    lv_obj_add_event_cb(imgbtn1, event_cb, LV_EVENT_CLICKED, NULL);

    lv_obj_del(btn);


}

static void event_cb(lv_event_t * e)
{
    LV_LOG_USER("event_cb\n");

    static uint32_t cnt = 1;
    lv_obj_t * btn = lv_event_get_target(e);
    lv_obj_t * label = lv_obj_get_child(btn, 0);
    lv_label_set_text_fmt(label, "%"LV_PRIu32, cnt);
    cnt++;
        lv_obj_t * imgbtn1 = lv_imgbtn_create(lv_scr_act());
    lv_imgbtn_set_src(imgbtn1, LV_IMGBTN_STATE_RELEASED, &ui_img_menu2_menu2_workout_records_100x100_png, NULL, NULL);
    lv_obj_align(imgbtn1, LV_ALIGN_CENTER, 0, 0);
        /*Create a label on the image button*/
    lv_obj_t * labela = lv_label_create(imgbtn1);
    lv_label_set_text(labela, "Button");
    lv_obj_align(labela, LV_ALIGN_CENTER, 0, 0);
    lv_obj_add_event_cb(imgbtn1, event_cb1, LV_EVENT_CLICKED, NULL);

    lv_obj_del(btn);


}


void lv_example_imgbtn_1(void){
        /*Create an image button*/
    lv_obj_t * imgbtn1 = lv_imgbtn_create(lv_scr_act());
    lv_imgbtn_set_src(imgbtn1, LV_IMGBTN_STATE_RELEASED, &ui_img_menu2_menu2_workout_status_100x100_png, NULL, NULL);
    lv_obj_align(imgbtn1, LV_ALIGN_CENTER, 0, 0);
        /*Create a label on the image button*/
    lv_obj_t * label = lv_label_create(imgbtn1);
    lv_label_set_text(label, "Button");
    lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
    lv_obj_add_event_cb(imgbtn1, event_cb, LV_EVENT_CLICKED, NULL);
}

主函数调用下面函数即可

lv_example_imgbtn_1();