#include "lvgl.h"
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#if LV_VERSION_CHECK(8,0,0)
lv_obj_t * create_page_1(const char *text);
lv_obj_t *o1,*o2;
static void lv_event_cb_1(lv_event_t * e);
#define LV_COLOR_BLUE lv_color_make(0x00,0xBF,0xFF)
void switch_test()
{
o1 = create_page_1("Page 1");
lv_obj_add_event_cb(o1,lv_event_cb_1,LV_EVENT_CLICKED,NULL);
}
lv_obj_t * create_page_1(const char *text)
{
lv_obj_t* root_obj = lv_obj_create(lv_scr_act());
lv_obj_clear_flag(root_obj, LV_OBJ_FLAG_SCROLLABLE);
lv_obj_set_size(root_obj, LV_HOR_RES, LV_VER_RES);
lv_obj_set_pos(root_obj,0,0);
lv_obj_t *btn1 = lv_btn_create(root_obj);
lv_obj_t *label = lv_label_create(btn1);
lv_label_set_text(label,text);
lv_obj_align(btn1,LV_ALIGN_CENTER,0,0);
{
static int i=0;
if(i) lv_obj_set_style_bg_color(root_obj, lv_color_white(), LV_PART_MAIN);
else lv_obj_set_style_bg_color(root_obj, LV_COLOR_BLUE, LV_PART_MAIN);
i =!i;
}
return root_obj ;
}
static void set_x_anim(void * obj, int32_t v);
static void lv_anim_ready_cb_1(struct _lv_anim_t *a);
static void lv_event_cb_1(lv_event_t * e)
{
char buf[100];
memset(buf,0,sizeof(buf));
lv_obj_remove_event_cb( lv_event_get_target(e),lv_event_cb_1) ;
time_t t= time(NULL);
sprintf(buf,"Page %lu",t);
lv_anim_t a;
lv_anim_init(&a);
lv_anim_set_time(&a, 2000);
lv_anim_set_path_cb(&a, lv_anim_path_linear);
a.user_data = o1;
lv_anim_set_var(&a, create_page_1(buf));
lv_anim_set_ready_cb(&a, lv_anim_ready_cb_1);
lv_anim_set_values(&a, LV_HOR_RES, 0);
lv_anim_set_exec_cb(&a, set_x_anim);
lv_anim_start(&a);
}
static void set_x_anim(void * obj, int32_t v)
{
lv_obj_set_x(obj, v);
}
static void lv_anim_ready_cb_1(struct _lv_anim_t *a)
{
lv_obj_del(a->user_data);
o1 = a->var;
lv_obj_add_event_cb(o1,lv_event_cb_1,LV_EVENT_CLICKED,NULL);
}
#endif