这里会显示出您选择的修订版和当前版本之间的差别。
后一修订版 | 前一修订版 | ||
icore4tlvgl_26 [2021/01/04 09:09] zgf 创建 |
icore4tlvgl_26 [2022/04/01 11:15] (当前版本) sean |
||
---|---|---|---|
行 2: | 行 2: | ||
|技术支持电话|**0379-69926675-801**||| | |技术支持电话|**0379-69926675-801**||| | ||
|技术支持邮件|Gingko@vip.163.com||| | |技术支持邮件|Gingko@vip.163.com||| | ||
- | |技术论坛|http://www.eeschool.org||| | ||
^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | ||
| V1.0 | 2020-12-26 | yang | 初次建立 | | | V1.0 | 2020-12-26 | yang | 初次建立 | | ||
行 16: | 行 15: | ||
==== 二、设定选项 ==== | ==== 二、设定选项 ==== | ||
- | 要为滚轮列表设置选项内容,可以通过函数 lv_roller_set_options(roller, options, LV_ROLLER_MODE_NORMAL/INFINITE) 实现,这些选项 options 作为字符串传递给滚轮列表,选项之间应用 \n 分隔,例如:"First\nSecond\nThird"。 | + | 要为滚轮列表设置选项内容,可以通过函数 **lv_roller_set_options(roller, options, LV_ROLLER_MODE_NORMAL/INFINITE)** 实现,这些选项 **options** 作为字符串传递给滚轮列表,选项之间应用 **\n** 分隔,例如:**"First\nSecond\nThird"**。 |
- | 其中 LV_ROLLER_MODE_NORMAL 为正常模式,向上最多滚动到第一个选项,向下最多滚动到最后一个选项。而LV_ROLLER_MODE_INIFINITE 则为循环模式,即最后一个选项下方是第一个选项,选项循环滚动。 | + | 其中 **LV_ROLLER_MODE_NORMAL** 为正常模式,向上最多滚动到第一个选项,向下最多滚动到最后一个选项。而**LV_ROLLER_MODE_INIFINITE** 则为循环模式,即最后一个选项下方是第一个选项,选项循环滚动。 |
- | 用户也可以使用命令 lv_roller_set_selected(roller, id, LV_ANIM_ON/OFF) 手动选择一个选项,其中 id 是选项的索引。 | + | 用户也可以使用命令 **lv_roller_set_selected(roller, id, LV_ANIM_ON/OFF)** 手动选择一个选项,其中 **id** 是选项的索引。 |
{{ :icore4t:icore4t_rtt_lvgl_26_1.gif?direct |}} | {{ :icore4t:icore4t_rtt_lvgl_26_1.gif?direct |}} | ||
行 44: | 行 43: | ||
==== 三、获取选择的选项 ==== | ==== 三、获取选择的选项 ==== | ||
- | 使用函数 lv_roller_get_selected(roller) 可以获取滚轮列表当前选中的选项,它将返回所选选项的索引。函数 lv_roller_get_selected_str(roller, buf, buf_size) 可以将所选选项的名称复制到 buf 中,以便其他程序调用。 | + | 使用函数 **lv_roller_get_selected(roller)** 可以获取滚轮列表当前选中的选项,它将返回所选选项的索引。函数 **lv_roller_get_selected_str(roller, buf, buf_size)** 可以将所选选项的名称复制到 **buf** 中,以便其他程序调用。 |
<code c> | <code c> | ||
行 54: | 行 53: | ||
==== 四、对齐选项 ==== | ==== 四、对齐选项 ==== | ||
- | 当滚轮列变内选项标签的长度不等长时,用户可以通过函数 lv_roller_set_align(roller, LV_LABEL_ALIGN_LEFT/CENTER/RIGHT) 来设置选项标签的水平对齐属性。 下面的例子可见选项标签的左对齐、居中对齐、右对齐效果。 | + | 当滚轮列变内选项标签的长度不等长时,用户可以通过函数 **lv_roller_set_align(roller, LV_LABEL_ALIGN_LEFT/CENTER/RIGHT)** 来设置选项标签的水平对齐属性。 下面的例子可见选项标签的左对齐、居中对齐、右对齐效果。 |
{{ :icore4t:icore4t_rtt_lvgl_26_2.png?direct |}} | {{ :icore4t:icore4t_rtt_lvgl_26_2.png?direct |}} | ||
行 87: | 行 86: | ||
==== 五、可见行 ==== | ==== 五、可见行 ==== | ||
- | 可见行是控件上最大能够显示的选项行数,默认为三行。滚轮列表的可见行数可以通过 lv_roller_set_visible_row_count(roller, num) 来设置,控件的高度会随之改变。 | + | 可见行是控件上最大能够显示的选项行数,默认为三行。滚轮列表的可见行数可以通过 **lv_roller_set_visible_row_count(roller, num)** 来设置,控件的高度会随之改变。 |
{{ :icore4t:icore4t_rtt_lvgl_26_3.png?direct |}} | {{ :icore4t:icore4t_rtt_lvgl_26_3.png?direct |}} | ||
行 113: | 行 112: | ||
==== 六、动画时间 ==== | ==== 六、动画时间 ==== | ||
- | 当滚轮滚动且未完全停在某个选项上时,它将自动滚动到最近的有效选项。滚动动画的时间可以通过 lv_roller_set_anim_time(roller, anim_time) 更改,动画时间为零表示没有动画。 | + | 当滚轮滚动且未完全停在某个选项上时,它将自动滚动到最近的有效选项。滚动动画的时间可以通过 **lv_roller_set_anim_time(roller, anim_time)** 更改,动画时间为零表示没有动画。 |
==== 七、事件 ==== | ==== 七、事件 ==== | ||
此外,通用事件以及以下特殊事件是通过下拉列表发送的: | 此外,通用事件以及以下特殊事件是通过下拉列表发送的: | ||
- | * LV_EVENT_VALUE_CHANGED 选择新选项时发送 | + | * **LV_EVENT_VALUE_CHANGED** 选择新选项时发送 |
以下按键由按钮处理: | 以下按键由按钮处理: | ||
- | * LV_KEY_RIGHT / DOWN 选择下一个选项 | + | * **LV_KEY_RIGHT / DOWN** 选择下一个选项 |
- | * LV_KEY_LEFT / UP 选择上一个选项 | + | * **LV_KEY_LEFT / UP** 选择上一个选项 |
- | * LY_KEY_ENTER 应用选定的选项(发送 LV_EVENT_VALUE_CHANGED 事件) | + | *** LY_KEY_ENTER** 应用选定的选项(发送 **LV_EVENT_VALUE_CHANGED** 事件) |
{{ :icore4t:icore4t_rtt_lvgl_26_4.gif?direct |}} | {{ :icore4t:icore4t_rtt_lvgl_26_4.gif?direct |}} | ||
行 151: | 行 150: | ||
lv_obj_t *roller1 = lv_roller_create(lv_scr_act(), NULL); /* 创建滚轮列表 */ | lv_obj_t *roller1 = lv_roller_create(lv_scr_act(), NULL); /* 创建滚轮列表 */ | ||
lv_roller_set_align(roller1, LV_LABEL_ALIGN_LEFT); /* 设置左对齐 */ | lv_roller_set_align(roller1, LV_LABEL_ALIGN_LEFT); /* 设置左对齐 */ | ||
- | lv_obj_set_style_local_text_font(roller1, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &hei_16); /* 设置字体 */ | + | lv_obj_set_style_local_text_font(roller1, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &hei_16); /* 设置字体 */ |
lv_roller_set_options(roller1, " 红色 \n" " 绿色 \n" " 蓝色 \n" " 黄色 \n" " 黑色 " , LV_ROLLER_MODE_INIFINITE); /* 设置选项 */ | lv_roller_set_options(roller1, " 红色 \n" " 绿色 \n" " 蓝色 \n" " 黄色 \n" " 黑色 " , LV_ROLLER_MODE_INIFINITE); /* 设置选项 */ | ||
lv_roller_set_visible_row_count(roller1, 4); /* 设置显示行 */ | lv_roller_set_visible_row_count(roller1, 4); /* 设置显示行 */ |