Littlevgl的日历显示改进
基于STM32的littlevgl calendar改进,与RTC一并使用
不想观看可以直接点击完整代码进行下载。
增加开局就显示实际日期
// 创建calendar窗体
void calendar_win_create(lv_obj_t * parent)
{
lv_obj_t * win = general_win_create(parent,"SET TIME");
RTC_DateTypeDef RTC_DateStructure; // RTC日期句柄
today.year=RTC_DateStructure.Year; // calendar年对应RTC时钟里的年
today.year=today.year+0x7d0; // RTC时钟里的年只有个位与十位,0x7d0代表2000
today.month=RTC_DateStructure.Month; // calendar月对应RTC时钟里的月
today.day=RTC_DateStructure.Date; // calendar日对应RTC时钟里的日
//创建日期
calendar1 = lv_calendar_create(win,NULL);
lv_obj_set_size(calendar1,220,220);//设置大小
lv_obj_align(calendar1,NULL,LV_ALIGN_IN_TOP_LEFT,120,70);//设置对齐方式
lv_obj_set_event_cb(calendar1,event_handler);//设置事件回调函数
lv_calendar_set_today_date(calendar1,&today);//设置TODAY日期
lv_calendar_set_showed_date(calendar1,&today);//跳转到TODAY日期所在的界面
lv_calendar_set_day_names(calendar1,(const char **)day_names);//设置星期信息行的标题
lv_calendar_set_month_names(calendar1,(const char **)month_names);//设置月份的标题
//lv_calendar_set_highlighted_dates(calendar1,(lv_calendar_date_t *)highlihted_days,sizeof(highlihted_days)/sizeof(highlihted_days[0]));//设置需要被高亮显示的日期
效果图如下: