合宙Air724UG LuatOS-Air LVGL API控件--日历 (Calendar)

日历 (Calendar)
在这里插入图片描述

LVGL 提供了一个用来选择和显示当前日期的日历控件。

示例代码
– 高亮显示的日期
highlightDate = lvgl.calendar_date_t()

– 日历点击的回调函数
– 将点击日期设置高亮
function event_handler(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
date = lvgl.calendar_get_pressed_date(obj)
if date then
print(string.format(“Clicked date: %02d.%02d.%d\n”, date.day, date.month, date.year))
highlightDate.year = date.year
highlightDate.month = date.month
highlightDate.day = date.day
lvgl.calendar_set_highlighted_dates(obj, highlightDate, 1)
end
end
end

– 创建日历
calendar = lvgl.calendar_create(lvgl.scr_act(), nil)
lvgl.obj_set_size(calendar, 235, 235)
lvgl.obj_align(calendar, nil, lvgl.ALIGN_CENTER, 0, 0)
lvgl.obj_set_event_cb(calendar, event_handler)

– 设置今天日期
today = lvgl.calendar_date_t()
today.year = 2018
today.month = 10
today.day = 23

lvgl.calendar_set_today_date(calendar, today)
lvgl.calendar_set_showed_date(calendar, today)
创建
通过 lvgl.calendar_create 函数可以获取一个日历控件。

calendar = lvgl.calendar_create(lvgl.scr_act(), nil)
要知道日历控件是个大家伙,虽然可以对日历控件设置大小,但是如果如果尺寸显示过小,显示效果会严重折扣。毕竟这样的控件不会像那些简单的矢量图形一样可以自动调整。

lvgl.obj_set_size(calendar, 128, 160)
设置日历大小 128*160 显示效果就是这样。所以屏幕分辨率不是很高,不建议使用日历控件。

在这里插入图片描述

使用
日历控件当然是用在显示日期的地方,一个日历控件就能当成是一个应用了。也可以辅助用户选择日期,让用户输入一个日期还是比较繁琐的,格式也不好确定,而且用户很有可能会输入一个不存在的日期 2021年02月29日。通过日历控件可以很好的辅助用户选择日期。

日期
日期是通过 lvgl.calendar_date_t() 函数创建的,这是个用户自定义数据,注意不要用 talbe 创建日期,两者还是有区别的。

today = lvgl.calendar_date_t()
today.year = 2018
today.month = 8
today.day = 8
选择/设置日期
日历控件有三个常用日期,今天的日期,高亮日期,当前显示的日期。

today = lvgl.calendar_date_t()
today.year = 2018
today.month = 10
today.day = 23
lvgl.calendar_set_today_date(calendar, today) – 设置当前日期

show = lvgl.calendar_date_t()
show.year = 2018
show.month = 9
show.day = 23
lvgl.calendar_set_showed_date(calendar, show) – 设置显示日期

light = lvgl.calendar_date_t()
light.year = 2018
light.month = 10
light.day = 23
lvgl.calendar_set_highlighted_dates(calendar, light, 1) – 设置高亮日期
来看下这三个日期的区别:
image.png
2018年10月11日是高亮显示的效果。
2018年10月23日是当前日期的显示效果。
但是控件默认显示是在9月,因为显示的日期是2018年09月23日。

在这里插入图片描述

事件
除了对象的通用事件以外,日历控件可以通过 lvgl.EVENT_VALUE_CHANGED 事件获取当前用户点击的日期。

function event_handler(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
date = lvgl.calendar_get_pressed_date(obj)
if date then
print(string.format(“Clicked date: %02d.%02d.%d\n”, date.day, date.month, date.year))
end
end
end

lvgl.obj_set_event_cb(calendar, event_handler)
在这里插入图片描述
在这里插入图片描述

API
lvgl.calendar_create
调用 lvgl.calendar_create(par, copy)
功能 创建日历对象
返回 指向创建的日历的指针
参数
par 指向对象的指针, 它将是新日历的父对象
copy 指向日历对象的指针, 如果不为 nil, 则将从其复制新对象
lvgl.calendar_set_today_date
调用 lvgl.calendar_set_today_date(calendar, today)
功能 设定今天的日期
参数
calendar 指向日历对象的指针
today 指向包含今天的日期的变量的指针
lvgl.calendar_set_showed_date
调用 lvgl.calendar_set_showed_date(calendar, showed)
功能 设置当前显示
参数
calendar 指向日历对象的指针
showed 指向包含要显示日期的变量的指针。
lvgl.calendar_set_highlighted_dates
调用 lvgl.calendar_set_highlighted_dates(calendar, light, num)
功能 设置高亮显示日期
参数
calendar 指向日历对象的指针
light 指向包含要显示日期的变量的指针。
num 高亮日期个数。
lvgl.calendar_get_today_date
调用 lvgl.calendar_get_today_date(calendar)
功能 获取今天的日期
返回 指向包含今天的日期的变量的指针。
参数
calendar 指向日历对象的指针
lvgl.calendar_get_showed_date
调用 lvgl.calendar_get_showed_date(calendar)
功能 获取当前显示
返回 包含日期的变量的指针正在显示。
参数
calendar 指向日历对象的指针
lvgl.calendar_get_pressed_date
调用 lvgl.calendar_get_pressed_date(calendar)
功能 获取按下日期。
返回 指向包含按下日期的变量的指针。如果当前未按下,显示 nil。
参数
calendar 指向日历对象的指针

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/118055.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ITMS介绍

ITMS(Integrated Terminal Management System),终端综合管理系统。 主要用于家庭网关的设备注册,初始化自动配置,软件版本升级,远程故障诊断修复和设备监控等。它通过北向连接服开系统用于接收业务工单&am…

汽车自适应巡航系统控制策略研究

目 录 第一章 绪论 .............................................................................................................................. 1 1.1 研究背景及意义 ..........................................................................................…

已解决下载安装Python官网安装包下载速度慢问题

本文摘要:本文已解决下载安装Python官网安装包下载速度慢的问题。 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究…

无涯教程-机器学习 - 矩阵图函数

相关性是有关两个变量之间变化的指示,在前面的章节中,无涯教程讨论了Pearson的相关系数以及相关的重要性,可以绘制相关矩阵以显示哪个变量相对于另一个变量具有较高或较低的相关性。 在以下示例中,Python脚本将为Pima印度糖尿病数…

LNMP架构:搭建Discuz论坛

文章目录 1. 编译安装Nginx1.1 前置准备1.2 编译安装1.3 添加nginx系统服务 2.编译安装MySql2.1 前置准备2.2 编译安装2.3 修改mysql 配置文件2.4 设置路径环境变量2.5 初始化数据库2.6 添加musql系统服务2.7 修改MySql登录密码 3. 编译安装PHP3.1 前置准备3.2 编译安装3.3 复制…

【Datawhale】AI夏令营第三期——基于论文摘要的文本分类笔记(上)

暑期参加了Datawhale的第三期AI夏令营,学习的是NLP方向,在此期间,我们通过比赛打榜的形式进行NLP的学习。今天,主要分享和记录一下这一期夏令营的学习历程和笔记。 文章目录 赛题背景赛题任务赛题数据集评价指标解题思路任务一&am…

slog正式版来了:Go日志记录新选择!

在大约一年前,我就写下了《slog:Go官方版结构化日志包[1]》一文,文中介绍了Go团队正在设计并计划在下一个Go版本中落地的Go官方结构化日志包:slog[2]。但slog并未如预期在Go 1.20版本[3]中落地,而是在golang.org/x/exp…

java对象创建的过程

1、检查指令的参数是否能在常量池中定位到一个类的符号引用 2、检查此符号引用代表的类是否已被加载、解析和初始化过。如果没有,就先执行相应的类加载过程 3、类加载检查通过后,接下来虚拟机将为新生对象分配内存。 4、内存分配完成之后,…

【OpenCV入门】第八部分——滤波器

文章结构 图像平滑处理均值滤波器中值滤波器高斯滤波器双边滤波器拉普拉斯高通滤波器 图像平滑处理 图像平滑处理是指在尽量保留原图像信息的情况下,去除掉图像内部的噪声(分布不均匀的、高亮度的像素点)。而用于图像平滑处理的工具就是滤波…

HarmonyOS—使用Web组件加载页面

页面加载是 Web 组件的基本功能。根据页面加载数据来源可以分为三种常用场景,包括加载网络页面、加载本地页面、加载 HTML 格式的富文本数据。 页面加载过程中,若涉及网络资源获取,需要配置ohos.permission.INTERNET网络访问权限。 加载网络…

人工智能轨道交通行业周刊-第58期(2023.8.28-9.3)

本期关键词:成都智慧工厂、机务段、站台地标、备案大模型、AIGC报告 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界铁路…

论文浅尝 | 利用对抗攻击策略缓解预训练语言模型中的命名实体情感偏差问题...

笔记整理:田家琛,天津大学博士,研究方向为文本分类 链接:https://ojs.aaai.org/index.php/AAAI/article/view/26599 动机 近年来,随着预训练语言模型(PLMs)在情感分类领域的广泛应用&#xff0c…

SpringBoot 使用MyBatis分页插件实现分页功能

SpringBoot 使用MyBatis分页插件实现分页功能 1、集成pagehelper2、配置pagehelper3、编写代码4、分页效果 案例地址&#xff1a; https://gitee.com/vinci99/paging-pagehelper-demo/tree/master 1、集成pagehelper <!-- 集成pagehelper --> <dependency><gr…

【SQL】关系模型与查询和更新数据

一、关系模型 1.1 主键 主键是关系表中记录的唯一标识。主键的选取非常重要&#xff1a;主键不要带有业务含义&#xff0c;而应该使用BIGINT自增或者GUID类型。主键也不应该允许NULL。 可以使用多个列作为联合主键&#xff0c;但联合主键并不常用。 1.2 外键 FOREIGN KEY …

mall :hutool项目源码解析

文章目录 一、mall开源项目1.1 来源1.2 项目转移1.3 项目克隆 二、Hutool工具类库2.1 Hutool 简介 三、源码解析3.1 集成与配置3.1.1 导入依赖3.1.2 添加配置 3.2 核心工具类3.2.1 AnnotationUtil使用&#xff1a;注解工具类3.2.2 BeanUtil使用&#xff1a;JavaBean的工具类3.2…

记本地新建一个gradle方式springboot项目过程

打算使用gradle在idea新建个springboot项目&#xff0c;然后坑很多&#xff0c;记录一下 原来我的idea应该是社区版&#xff0c;新建项目时候没有可以选择spring相关配置&#xff0c;然后卸载了重装&#xff0c;之前问题是启动是启动起来了&#xff0c;但是状态栏那边一直显示…

Matlab(画图初阶)

目录 1.plot()函数 2. hold(添加新绘图是否保留旧绘图) 3. Plot Style 3.1 线型 3.2 标记 3.3 颜色 ​编辑 4. legend() 5.X 、Y and Title&#xff1f; 6. Text()和annotation() 7.line(创建基本线条) 7.1 基本语法 7.2 指定线条属性 7.3 更改线条属性 8.图像属性 8.1 …

设计模式--代理模式

笔记来源&#xff1a;尚硅谷Java设计模式&#xff08;图解框架源码剖析&#xff09; 代理模式 1、代理模式的基本介绍 1&#xff09;代理模式&#xff1a;为一个对象提供一个替身&#xff0c;以控制对这个对象的访问。即通过代理对象访问目标对象2&#xff09;这样做的好处是…

在抖音中使用语聚AI,实现自动回复用户视频评论、私信问答

您可以通过集简云数据流程&#xff0c;将语聚AI助手集成到抖音视频评论、抖音私信&#xff0c;实现自动回复用户视频评论、私信问答&#xff0c;大大提升账号互动与运营效率。 效果如下&#xff1a; 自动化流程&#xff1a; ● 抖音普通号评论对接语聚AI&#xff08;点击可一…

C#2010 .NET4 解析 json 字符串

下载Newtonsoft.Json.dll using System; using System.Collections.Generic; using System.Linq; using System.Text;using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; namespace ConsoleApplication1 {class Program{static void Main(string[] args){strin…