#include "../../../lvgl.h" #if LV_USE_IMGBTN void lv_example_imgbtn_1(void) { LV_IMG_DECLARE(imgbtn_left); LV_IMG_DECLARE(imgbtn_right); LV_IMG_DECLARE(imgbtn_mid); /* Create a transition animation on width transformation.*/ static lv_style_prop_t tr_prop[] = {LV_STYLE_TRANSFORM_WIDTH, 0}; static lv_style_transition_dsc_t tr; lv_style_transition_dsc_init(&tr, tr_prop, &lv_anim_path_def, 300, 0); static lv_style_t style_def; lv_style_init(&style_def); lv_style_set_text_color(&style_def, LV_COLOR_WHITE); lv_style_set_transition(&style_def, &tr); /*Darken the button when pressed and make it wider*/ static lv_style_t style_pr; lv_style_init(&style_pr); lv_style_set_img_recolor_opa(&style_pr, LV_OPA_30); lv_style_set_img_recolor(&style_pr, LV_COLOR_BLACK); lv_style_set_transform_width(&style_pr, 20); /*Create an image button*/ lv_obj_t * imgbtn1 = lv_imgbtn_create(lv_scr_act()); lv_imgbtn_set_src(imgbtn1, LV_IMGBTN_STATE_RELEASED, &imgbtn_left, &imgbtn_mid, &imgbtn_right); lv_obj_add_style(imgbtn1, LV_PART_MAIN, LV_STATE_DEFAULT, &style_def); lv_obj_add_style(imgbtn1, LV_PART_MAIN, LV_STATE_PRESSED, &style_pr); lv_obj_align(imgbtn1, NULL, LV_ALIGN_CENTER, 0, 0); /*Create a label on the image button*/ lv_obj_t * label = lv_label_create(imgbtn1, NULL); lv_label_set_text(label, "Button"); lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, -4); } #endif