/* * Copyright 2025 NXP * NXP Confidential and Proprietary. This software is owned or controlled by NXP and may only be used strictly in * accordance with the applicable license terms. By expressly accepting such terms or by downloading, installing, * activating and/or otherwise using the software, you are agreeing that you have read, and that you agree to * comply with and are bound by, such license terms. If you do not agree to be bound by the applicable license * terms, then you may not retain, install, activate or otherwise use the software. */ #include #include #include #include #include #include "lvgl.h" #include "gui_guider.h" #include "events_init.h" #include "widgets_init.h" #include "custom.h" /* 时间界面逻辑 1 进页面 显示最新时间 3个状态同步更新 同步自动选择的开关状态 ok 同步2个日期按钮的 允许/禁用状态 ok 同步最新时间显示 ok 2 依据是开关状态: 选择关闭自动更新,则允许点击按钮 如果跳转到更新时区 年月日时分界面 1 显示最新的时间和时区 2 如果点击更改,时间当成本地时间 通过utc+- 转为utc时间 并保存时区 选择开启自动更新 禁用按钮点击, 立即向zigbee查询时间,并依据zigbee下发的utc时间和当地时间计算出时区 并保存时区 ok */ void setup_scr_dateinfopage(lv_ui *ui) { time_t now; struct tm timeinfo; time(&now); localtime_r(&now, &timeinfo); LOG_I_LINE("timezone utc:%d",tz_get()); LOG_I_LINE("time==%d:%d:%d:%d:%02d:%02d:%02d:%02d:%02d", timeinfo.tm_isdst, //是否为夏时制 timeinfo.tm_yday, //一年过去的天数 timeinfo.tm_wday, //星期,1对应星期一 timeinfo.tm_year+1900, //年,距离1900年的差值,默认是70 timeinfo.tm_mon+1, //日期:月,从0开始 0~11 timeinfo.tm_mday, //日期:日,从1开始 timeinfo.tm_hour, //小时 timeinfo.tm_min, //分钟 timeinfo.tm_sec); //秒钟 //Write codes dateinfopage ui->dateinfopage = lv_obj_create(NULL); lv_obj_set_size(ui->dateinfopage, 480, 480); lv_obj_set_scrollbar_mode(ui->dateinfopage, LV_SCROLLBAR_MODE_OFF); //Write style for dateinfopage, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->dateinfopage, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->dateinfopage, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->dateinfopage, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_returnbg ui->dateinfopage_returnbg = lv_img_create(ui->dateinfopage); lv_obj_add_flag(ui->dateinfopage_returnbg, LV_OBJ_FLAG_CLICKABLE); lv_img_set_src(ui->dateinfopage_returnbg, LVGL_PATH(returnbg.png)); lv_img_set_pivot(ui->dateinfopage_returnbg, 50,50); lv_img_set_angle(ui->dateinfopage_returnbg, 0); lv_obj_set_pos(ui->dateinfopage_returnbg, 23, 27); lv_obj_set_size(ui->dateinfopage_returnbg, 14, 26); //Write style for dateinfopage_returnbg, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_img_opa(ui->dateinfopage_returnbg, 255, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_retrunbtn ui->dateinfopage_retrunbtn = lv_btn_create(ui->dateinfopage); //ui->dateinfopage_retrunbtn_label = lv_label_create(ui->dateinfopage_retrunbtn); //lv_label_set_text(ui->dateinfopage_retrunbtn_label, ""); //lv_label_set_long_mode(ui->dateinfopage_retrunbtn_label, LV_LABEL_LONG_WRAP); //lv_obj_align(ui->dateinfopage_retrunbtn_label, LV_ALIGN_CENTER, 0, 0); lv_obj_set_style_pad_all(ui->dateinfopage_retrunbtn, 0, LV_STATE_DEFAULT); //lv_obj_set_width(ui->displayinfopage_retrunbtn_label, LV_PCT(100)); lv_obj_set_pos(ui->dateinfopage_retrunbtn, 8, 8); lv_obj_set_size(ui->dateinfopage_retrunbtn, 60, 60); //Write style for displayinfopage_retrunbtn, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->dateinfopage_retrunbtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_border_width(ui->dateinfopage_retrunbtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_retrunbtn, 5, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_retrunbtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); // lv_obj_set_style_text_color(ui->dateinfopage_retrunbtn, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); // lv_obj_set_style_text_font(ui->dateinfopage_retrunbtn, &lv_font_albbhptR_16, LV_PART_MAIN|LV_STATE_DEFAULT); // lv_obj_set_style_text_opa(ui->dateinfopage_retrunbtn, 255, LV_PART_MAIN|LV_STATE_DEFAULT); // lv_obj_set_style_text_align(ui->dateinfopage_retrunbtn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_sw_1 ui->dateinfopage_sw_1 = lv_switch_create(ui->dateinfopage); lv_obj_set_pos(ui->dateinfopage_sw_1, 390, 78); lv_obj_set_size(ui->dateinfopage_sw_1, 60, 30); //Write style for dateinfopage_sw_1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->dateinfopage_sw_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->dateinfopage_sw_1, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->dateinfopage_sw_1, LV_GRAD_DIR_VER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_color(ui->dateinfopage_sw_1, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_main_stop(ui->dateinfopage_sw_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_stop(ui->dateinfopage_sw_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_border_width(ui->dateinfopage_sw_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_sw_1, 100, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_sw_1, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write style for dateinfopage_sw_1, Part: LV_PART_INDICATOR, State: LV_STATE_CHECKED. lv_obj_set_style_bg_opa(ui->dateinfopage_sw_1, 255, LV_PART_INDICATOR|LV_STATE_CHECKED); lv_obj_set_style_bg_color(ui->dateinfopage_sw_1, lv_color_hex(0x374c69), LV_PART_INDICATOR|LV_STATE_CHECKED); lv_obj_set_style_bg_grad_dir(ui->dateinfopage_sw_1, LV_GRAD_DIR_VER, LV_PART_INDICATOR|LV_STATE_CHECKED); lv_obj_set_style_bg_grad_color(ui->dateinfopage_sw_1, lv_color_hex(0x374c69), LV_PART_INDICATOR|LV_STATE_CHECKED); lv_obj_set_style_bg_main_stop(ui->dateinfopage_sw_1, 0, LV_PART_INDICATOR|LV_STATE_CHECKED); lv_obj_set_style_bg_grad_stop(ui->dateinfopage_sw_1, 255, LV_PART_INDICATOR|LV_STATE_CHECKED); lv_obj_set_style_border_width(ui->dateinfopage_sw_1, 0, LV_PART_INDICATOR|LV_STATE_CHECKED); //Write style for dateinfopage_sw_1, Part: LV_PART_KNOB, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->dateinfopage_sw_1, 255, LV_PART_KNOB|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->dateinfopage_sw_1, lv_color_hex(0xeb950f), LV_PART_KNOB|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->dateinfopage_sw_1, LV_GRAD_DIR_VER, LV_PART_KNOB|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_color(ui->dateinfopage_sw_1, lv_color_hex(0xef950f), LV_PART_KNOB|LV_STATE_DEFAULT); lv_obj_set_style_bg_main_stop(ui->dateinfopage_sw_1, 0, LV_PART_KNOB|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_stop(ui->dateinfopage_sw_1, 255, LV_PART_KNOB|LV_STATE_DEFAULT); lv_obj_set_style_border_width(ui->dateinfopage_sw_1, 0, LV_PART_KNOB|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_sw_1, 100, LV_PART_KNOB|LV_STATE_DEFAULT); if(GET_nvs_Sys_Info_autoupdatetime()) { lv_obj_add_state(ui->dateinfopage_sw_1, LV_STATE_CHECKED);//on } else { lv_obj_clear_state(ui->dateinfopage_sw_1, LV_STATE_CHECKED);//off } //Write codes dateinfopage_label_2 ui->dateinfopage_label_2 = lv_label_create(ui->dateinfopage); //lv_label_set_text(ui->dateinfopage_label_2, "Set time Automatically"); lv_label_set_text(ui->dateinfopage_label_2, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_SetClockauto]); lv_label_set_long_mode(ui->dateinfopage_label_2, LV_LABEL_LONG_WRAP); lv_obj_set_pos(ui->dateinfopage_label_2, 38, 80); lv_obj_set_size(ui->dateinfopage_label_2, 250, 24); //Write style for dateinfopage_label_2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->dateinfopage_label_2, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->dateinfopage_label_2, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->dateinfopage_label_2, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->dateinfopage_label_2, 2, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->dateinfopage_label_2, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_label_2, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_datecont ui->dateinfopage_datecont = lv_obj_create(ui->dateinfopage); lv_obj_set_pos(ui->dateinfopage_datecont, 17, 127); lv_obj_set_size(ui->dateinfopage_datecont, 443, 50); lv_obj_set_scrollbar_mode(ui->dateinfopage_datecont, LV_SCROLLBAR_MODE_OFF); //Write style for dateinfopage_datecont, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->dateinfopage_datecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_datecont, 10, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->dateinfopage_datecont, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->dateinfopage_datecont, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->dateinfopage_datecont, LV_GRAD_DIR_VER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_color(ui->dateinfopage_datecont, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_main_stop(ui->dateinfopage_datecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_stop(ui->dateinfopage_datecont, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->dateinfopage_datecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->dateinfopage_datecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->dateinfopage_datecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->dateinfopage_datecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_datecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_img_2 ui->dateinfopage_img_2 = lv_img_create(ui->dateinfopage_datecont); lv_obj_add_flag(ui->dateinfopage_img_2, LV_OBJ_FLAG_CLICKABLE); lv_img_set_src(ui->dateinfopage_img_2, LVGL_PATH(nextpagebg.png)); lv_img_set_pivot(ui->dateinfopage_img_2, 0,0); lv_img_set_angle(ui->dateinfopage_img_2, 0); lv_obj_set_pos(ui->dateinfopage_img_2, 422, 17); lv_obj_set_size(ui->dateinfopage_img_2, 14, 22); //Write style for dateinfopage_img_2, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_img_opa(ui->dateinfopage_img_2, 255, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_datelabel ui->dateinfopage_datelabel = lv_label_create(ui->dateinfopage_datecont); // lv_label_set_text(ui->dateinfopage_datelabel, "Date"); lv_label_set_text(ui->dateinfopage_datelabel, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_SetClockDate]); lv_label_set_long_mode(ui->dateinfopage_datelabel, LV_LABEL_LONG_WRAP); lv_obj_set_pos(ui->dateinfopage_datelabel, 21, 0); lv_obj_set_size(ui->dateinfopage_datelabel, 50, 24); //Write style for dateinfopage_datelabel, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->dateinfopage_datelabel, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->dateinfopage_datelabel, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->dateinfopage_datelabel, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->dateinfopage_datelabel, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_datelabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_datetxtlabel ui->dateinfopage_datetxtlabel = lv_label_create(ui->dateinfopage_datecont); //lv_label_set_text(ui->dateinfopage_datetxtlabel, "January 1, 2023"); if(GET_nvs_Sys_Info_language()==LANG_CH) { lv_label_set_text_fmt(ui->dateinfopage_datetxtlabel,"%d年%d月%d日",timeinfo.tm_year+1900,timeinfo.tm_mon+1,timeinfo.tm_mday); } else { lv_label_set_text_fmt(ui->dateinfopage_datetxtlabel,"%s %d, %d",Menu_monList[timeinfo.tm_mon+1],timeinfo.tm_mday,timeinfo.tm_year+1900); } lv_label_set_long_mode(ui->dateinfopage_datetxtlabel, LV_LABEL_LONG_WRAP); lv_obj_set_pos(ui->dateinfopage_datetxtlabel, 21, 24); lv_obj_set_size(ui->dateinfopage_datetxtlabel, 200, 24); //Write style for dateinfopage_datetxtlabel, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->dateinfopage_datetxtlabel, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->dateinfopage_datetxtlabel, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->dateinfopage_datetxtlabel, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->dateinfopage_datetxtlabel, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_datetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_datebtn ui->dateinfopage_datebtn = lv_btn_create(ui->dateinfopage_datecont); ui->dateinfopage_datebtn_label = lv_label_create(ui->dateinfopage_datebtn); lv_label_set_text(ui->dateinfopage_datebtn_label, ""); lv_label_set_long_mode(ui->dateinfopage_datebtn_label, LV_LABEL_LONG_WRAP); lv_obj_align(ui->dateinfopage_datebtn_label, LV_ALIGN_CENTER, 0, 0); lv_obj_set_style_pad_all(ui->dateinfopage_datebtn, 0, LV_STATE_DEFAULT); lv_obj_set_width(ui->dateinfopage_datebtn_label, LV_PCT(100)); lv_obj_set_pos(ui->dateinfopage_datebtn, 0, 0); lv_obj_set_size(ui->dateinfopage_datebtn, 443, 50); //Write style for dateinfopage_datebtn, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->dateinfopage_datebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_border_width(ui->dateinfopage_datebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_datebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_datebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->dateinfopage_datebtn, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->dateinfopage_datebtn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->dateinfopage_datebtn, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->dateinfopage_datebtn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); //Write style for dateinfopage_datebtn, Part: LV_PART_MAIN, State: LV_STATE_DISABLED. lv_obj_set_style_bg_opa(ui->dateinfopage_datebtn, 202, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_color(ui->dateinfopage_datebtn, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_grad_dir(ui->dateinfopage_datebtn, LV_GRAD_DIR_VER, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_grad_color(ui->dateinfopage_datebtn, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_main_stop(ui->dateinfopage_datebtn, 0, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_grad_stop(ui->dateinfopage_datebtn, 255, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_border_width(ui->dateinfopage_datebtn, 0, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_radius(ui->dateinfopage_datebtn, 10, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_shadow_width(ui->dateinfopage_datebtn, 0, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_text_color(ui->dateinfopage_datebtn, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_text_font(ui->dateinfopage_datebtn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_text_opa(ui->dateinfopage_datebtn, 255, LV_PART_MAIN|LV_STATE_DISABLED); //Write codes dateinfopage_timecont ui->dateinfopage_timecont = lv_obj_create(ui->dateinfopage); lv_obj_set_pos(ui->dateinfopage_timecont, 17, 182); lv_obj_set_size(ui->dateinfopage_timecont, 443, 50); lv_obj_set_scrollbar_mode(ui->dateinfopage_timecont, LV_SCROLLBAR_MODE_OFF); //Write style for dateinfopage_timecont, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->dateinfopage_timecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_timecont, 10, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->dateinfopage_timecont, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_color(ui->dateinfopage_timecont, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_dir(ui->dateinfopage_timecont, LV_GRAD_DIR_VER, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_color(ui->dateinfopage_timecont, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_main_stop(ui->dateinfopage_timecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_grad_stop(ui->dateinfopage_timecont, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->dateinfopage_timecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->dateinfopage_timecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->dateinfopage_timecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->dateinfopage_timecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_timecont, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_img_3 ui->dateinfopage_img_3 = lv_img_create(ui->dateinfopage_timecont); lv_obj_add_flag(ui->dateinfopage_img_3, LV_OBJ_FLAG_CLICKABLE); lv_img_set_src(ui->dateinfopage_img_3, LVGL_PATH(nextpagebg.png)); lv_img_set_pivot(ui->dateinfopage_img_3, 0,0); lv_img_set_angle(ui->dateinfopage_img_3, 0); lv_obj_set_pos(ui->dateinfopage_img_3, 422, 17); lv_obj_set_size(ui->dateinfopage_img_3, 14, 22); //Write style for dateinfopage_img_3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_img_opa(ui->dateinfopage_img_3, 255, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_timeclabel ui->dateinfopage_timeclabel = lv_label_create(ui->dateinfopage_timecont); // lv_label_set_text(ui->dateinfopage_timeclabel, "Time"); lv_label_set_text(ui->dateinfopage_timeclabel, Menu_List[GET_nvs_Sys_Info_language()][MENU_LIST_SetClockTime]); lv_label_set_long_mode(ui->dateinfopage_timeclabel, LV_LABEL_LONG_WRAP); lv_obj_set_pos(ui->dateinfopage_timeclabel, 21, 0); lv_obj_set_size(ui->dateinfopage_timeclabel, 50, 24); //Write style for dateinfopage_timeclabel, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->dateinfopage_timeclabel, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->dateinfopage_timeclabel, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->dateinfopage_timeclabel, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->dateinfopage_timeclabel, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_timeclabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_timetxtlabel ui->dateinfopage_timetxtlabel = lv_label_create(ui->dateinfopage_timecont); //lv_label_set_text(ui->dateinfopage_timetxtlabel, "09:48"); lv_label_set_text_fmt(ui->dateinfopage_timetxtlabel,"%02d:%02d",timeinfo.tm_hour,timeinfo.tm_min); lv_label_set_long_mode(ui->dateinfopage_timetxtlabel, LV_LABEL_LONG_WRAP); lv_obj_set_pos(ui->dateinfopage_timetxtlabel, 21, 24); lv_obj_set_size(ui->dateinfopage_timetxtlabel, 60, 24); //Write style for dateinfopage_timetxtlabel, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_border_width(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->dateinfopage_timetxtlabel, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->dateinfopage_timetxtlabel, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->dateinfopage_timetxtlabel, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_letter_space(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_line_space(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->dateinfopage_timetxtlabel, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_bg_opa(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_top(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_bottom(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_pad_left(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_timetxtlabel, 0, LV_PART_MAIN|LV_STATE_DEFAULT); //Write codes dateinfopage_timebtn ui->dateinfopage_timebtn = lv_btn_create(ui->dateinfopage_timecont); ui->dateinfopage_timebtn_label = lv_label_create(ui->dateinfopage_timebtn); lv_label_set_text(ui->dateinfopage_timebtn_label, ""); lv_label_set_long_mode(ui->dateinfopage_timebtn_label, LV_LABEL_LONG_WRAP); lv_obj_align(ui->dateinfopage_timebtn_label, LV_ALIGN_CENTER, 0, 0); lv_obj_set_style_pad_all(ui->dateinfopage_timebtn, 0, LV_STATE_DEFAULT); lv_obj_set_width(ui->dateinfopage_timebtn_label, LV_PCT(100)); lv_obj_set_pos(ui->dateinfopage_timebtn, 0, 0); lv_obj_set_size(ui->dateinfopage_timebtn, 443, 50); //Write style for dateinfopage_timebtn, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT. lv_obj_set_style_bg_opa(ui->dateinfopage_timebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_border_width(ui->dateinfopage_timebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_radius(ui->dateinfopage_timebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_shadow_width(ui->dateinfopage_timebtn, 0, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui->dateinfopage_timebtn, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui->dateinfopage_timebtn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui->dateinfopage_timebtn, 255, LV_PART_MAIN|LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui->dateinfopage_timebtn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT); //Write style for dateinfopage_timebtn, Part: LV_PART_MAIN, State: LV_STATE_DISABLED. lv_obj_set_style_bg_opa(ui->dateinfopage_timebtn, 204, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_color(ui->dateinfopage_timebtn, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_grad_dir(ui->dateinfopage_timebtn, LV_GRAD_DIR_VER, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_grad_color(ui->dateinfopage_timebtn, lv_color_hex(0x212121), LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_main_stop(ui->dateinfopage_timebtn, 0, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_bg_grad_stop(ui->dateinfopage_timebtn, 255, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_border_width(ui->dateinfopage_timebtn, 0, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_radius(ui->dateinfopage_timebtn, 10, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_shadow_width(ui->dateinfopage_timebtn, 0, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_text_color(ui->dateinfopage_timebtn, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_text_font(ui->dateinfopage_timebtn, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DISABLED); lv_obj_set_style_text_opa(ui->dateinfopage_timebtn, 255, LV_PART_MAIN|LV_STATE_DISABLED); //The custom code of dateinfopage. if(GET_nvs_Sys_Info_autoupdatetime())//自动更新时间要把按钮禁用掉 { //lv_obj_add_state(ui->dateinfopage_timebtn, LV_STATE_DISABLED);//off //日期按键禁止按下 lv_obj_add_state(guider_ui.dateinfopage_datebtn, LV_STATE_DISABLED);//off //时间禁止允许按下 lv_obj_add_state(guider_ui.dateinfopage_timebtn, LV_STATE_DISABLED);//off } else//手动更新时间 允许按钮操作 { //lv_obj_add_state(ui->dateinfopage_timebtn, LV_STATE_DEFAULT);//on //日期按键允许按下 lv_obj_clear_state(ui->dateinfopage_datebtn, LV_STATE_DISABLED);//on //时间按键允许按下 lv_obj_clear_state(ui->dateinfopage_timebtn, LV_STATE_DISABLED);//on } //Update current screen layout. lv_obj_update_layout(ui->dateinfopage); //Init events for screen. events_init_dateinfopage(ui); }