LVGL『Roller滚轮控件』介绍
一. LVGL GUI滚轮控件的概念
Roller 允许您通过滚动简单地从多个选项中选择一个选项。
二. LVGL GUI滚轮小部件和样式
滚轮的主要部分称为 LV_ROLLER_PART_BG 。它是一个矩形,并使用所有典型的背景属性。Roller标签的样式继承自背景的文本样式属性。要调整选项之间的间距,请使用 text_line_space 样式属
性。该填充样式属性设置两侧的空间。中间的选定选项可通过 LV_ROLLER_PART_SELECTED 虚拟小部件引用。除了典型的背景属性外,它还
使用文本属性来更改所选区域中文本的外观。
三. LVGL GUI滚轮控件的使用
1. 设置选项(Set options)
通过这个函数来设置滚动条的选项lv_roller_set_options(roller, options, LV_ROLLER_MODE_NORMAL/INFINITE)
通过这个函数来设置选择的选项lv_roller_set_selected(roller, id, LV_ANIM_ON/OFF)
写个程序验证下:可以看到id5就是June
void lvgl_roller_set_option_test(void)
{lv_obj_t* roller1 = lv_roller_create(lv_scr_act(), NULL);lv_roller_set_options(roller1,"January\n""February\n""March\n""April\n""May\n""June\n""July\n""August\n""September\n""October\n""November\n""December",LV_ROLLER_MODE_INFINITE);lv_obj_align(roller1, NULL, LV_ALIGN_CENTER, 0, 0);lv_roller_set_selected(roller1, 5, LV_ANIM_ON);
}
2. 获取当前选项(Get selected option)
用这个函数来获取当前选项的ID,lv_roller_get_selected(roller)
用这个选项来获取当前选项的文本字符串,lv_roller_get_selected_str(roller, buf, buf_size)
此部分我们不写代码了,跟Event一起写!
3. 对齐选项(Align the options)
用这个函数来设置选项的对齐方式lv_roller_set_align(roller, LV_LABEL_ALIGN_LEFT/CENTER/RIGHT)
4. 可见行(Visible rows)
用这个函数来设置滚轮控件显示的行数lv_roller_set_visible_row_count(roller, num)
我们来写一个测试一下,创建两个滚轮控件,一个是默认的,一个设置为可见10行
void lvgl_roller_visible_raw_test(void)
{lv_obj_t* roller1 = lv_roller_create(lv_scr_act(), NULL);lv_roller_set_options(roller1,"January\n""February\n""March\n""April\n""May\n""June\n""July\n""August\n""September\n""October\n""November\n""December",LV_ROLLER_MODE_INFINITE);lv_obj_align(roller1, NULL, LV_ALIGN_CENTER, -100, -200);lv_obj_t* roller2 = lv_roller_create(lv_scr_act(), NULL);lv_roller_set_options(roller2,"January\n""February\n""March\n""April\n""May\n""June\n""July\n""August\n""September\n""October\n""November\n""December",LV_ROLLER_MODE_INFINITE);lv_obj_align(roller2, NULL, LV_ALIGN_CENTER, 100, -200);lv_roller_set_visible_row_count(roller2,10);
}
5. 动画时间(Animation time)
用这个函数来设置动画时间lv_roller_set_anim_time(roller, anim_time)
6. 事件(Event)
除了通用事件外,滚轮控件还有以下特殊事件
LV_EVENT_VALUE_CHANGED sent when a new option is selected
我们写个程序结合获取当前选项来看下
static void roller_event_test_handler(lv_obj_t* obj, lv_event_t event)
{if (event == LV_EVENT_VALUE_CHANGED) {char buf[32];lv_roller_get_selected_str(obj, buf, sizeof(buf));printf("Selected month: ID:%d Text:%s\n", lv_roller_get_selected(obj), buf);}
}void lvgl_roller_event_test(void)
{lv_obj_t* roller1 = lv_roller_create(lv_scr_act(), NULL);lv_roller_set_options(roller1,"January\n""February\n""March\n""April\n""May\n""June\n""July\n""August\n""September\n""October\n""November\n""December",LV_ROLLER_MODE_INFINITE);lv_roller_set_visible_row_count(roller1, 4);lv_obj_align(roller1, NULL, LV_ALIGN_CENTER, 0, 0);lv_obj_set_event_cb(roller1, roller_event_test_handler);
}
好了,完结了,更多精彩继续戳↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
LVGL『Roller滚轮控件』介绍相关推荐
- 嵌入式GUI LVGL『Tableview选项卡控件』介绍
一. LVGL GUI开关控件的概念 选项卡视图对象可用于组织选项卡中的内容. 二. LVGL GUI开关小部件和样式 Tab 视图对象包含几个部分.主要是 LV_TABVIEW_PART_BG .它 ...
- 制作一个GUI仪表盘,安排!LVGL『Gauge仪表盘控件』介绍
一. LVGL GUI仪表盘控件的概念 仪表盘是一种带有刻度标签和一根或多根针的仪表.比如车速/车转速等 二. LVGL GUI仪表盘小部件和样式 量规的主要部分称为 LV_GAUGE_PART_MA ...
- GUI怎么能缺少列表, LVGL『List列表控件』介绍
一. LVGL GUI列表控件的概念 列表是从背景页面和其上的按钮构建的.按钮包含一个可选的类似图标的图像(也可以是一个符号)和一个 Label.当列表足够长时,可以滚动它. 二. LVGL GUI列 ...
- 想做输入法界面?安排,LVGL『keyboard键盘控件』介绍
一. LVGL GUI键盘控件的概念 Keyboard 对象是一个特殊的 Button 矩阵,具有预定义的按键映射和其他功能,以实现虚拟键盘来编写文本. 二. LVGL GUI键盘小部件和样式 类似于 ...
- 肝一个嵌入式日历吧!LVGL『Calendar日历控件』介绍
一. LVGL GUI日历控件的概念 LVGL做的日历空间还是比较好看的,而且需要我们做的事情很少,LVGL的日历控件有以下功能 突出显示当天 突出显示任何用户定义的日期 显示日期名称 单击按钮进入下 ...
- LVGL『Canvas画布控件』介绍
一. LVGL GUI画布控件的概念 画布继承自图像,用户可以在其中绘制任何内容.可以使用 lvgl 的绘图引擎在此处绘制矩形,文本,图像,圆弧.除了一些"效果",还可以应用,例如 ...
- 类似PS的蒙版?可以实现,LVGL『Object mask对象蒙版控件』介绍
一. LVGL GUI对象蒙版控件的概念 绘制其子级时,对象蒙版能够向图形添加一些蒙版 二. LVGL GUI对象蒙版小部件和样式 对象蒙版只有一个主要部分 LV_OBJMASK_PART_BG ,它 ...
- 嵌入式GUI LVGL『Text Area文本区域控件』介绍
一. LVGL GUI文本区域控件的概念 文本区域是一个带有标签和光标的页面.文本或字符可以添加到它.长行被换行,当文本足够长时,可以滚动文本区域. 二. LVGL GUI文本区域小部件和样式 文本区 ...
- 嵌入式GUI LVGL『Tile View拼接视图控件』介绍
一. LVGL GUI拼接视图控件的概念 Tileview是一个容器对象,其中的元素(称为tiles)可以以网格形式排列.通过滑动,用户可以在这些贴图之间导航. 如果Tileview是屏幕大小,它会提 ...
- GUI一灯大师,LVGL『LED控件』介绍
一. LVGL GUI LED控件的概念 LED 是矩形(或圆形)的对象.它的亮度可以调节.亮度降低时,LED 的颜色会变暗. 二. LVGL GUI LED小部件和样式 LED 只有一个主要部分,称 ...
最新文章
- 2019cvpr oral | 实时自适应立体匹配
- shell在二级python_在python下运行时在shell脚本之间传递shell变量[duplicate]
- DL之CNN优化技术:学习卷积神经网络CNN的优化、实践经验(练习调参)、从代码深刻认知CNN架构之练习技巧
- mysql8.0.13安装版_windows下mysql 8.0.13 解压版安装图文教程
- OpenStack的部署T版(五)——Nova组件
- 可扩展的编程语言——Scala
- 批处理通过字符串截取得到文件名
- 新风格高端大气站长素材资源下载站源码 织梦dedecms内核(带手机版)
- 电商视觉:焦点图的万能构图模板
- Java菜鸟教程 一些简单的练习
- OSI常用网络协议(七层)
- 2021华科计算机考研专业课,2021考研 华中科技大学计算机考研科目
- 网络通信安全基础和OpenSSL
- 串口通信协议---UART
- 2022爱分析・数据库厂商全景报告 | 爱分析报告
- squid配置透明代理并支持Https及http、https拦截
- YOLOV7调试的bug
- FusionCharts Suite XT 3.19.1-2022-07-22
- 关于TVS管选型的几个参数
- SUNTANS模型学习(7)——学习simplified river plume算例
热门文章
- 萤火虫算法matlab实现,萤火虫算法,matlab代码.doc
- AR9285 bt3无线网卡驱动
- 文件转Base64格式
- Gitflow Git工作流
- new ArrayList()创建对象提示“索引超出了数组界限”异常分析
- 信息管理与信息系统毕业论文选题?
- 计算机快捷键屏幕录制,如何录制电脑屏幕视频-电脑实用快捷键(9页)-原创力文档...
- CAM350 使用,典型做钢网
- Java反射高频面试题(附答案),做了5年Java
- 【pandas教程】索引操作