在 LVGL 8.2 版本中,部件(widgets)主要分为以下几类,每个类别包含常用的具体组件:
1. 基础对象 (Core Objects)
lv_obj
:所有部件的基类,用于创建自定义容器或布局。lv_screen
:根对象,代表屏幕或窗口的基础容器。
2. 核心部件 (Core Widgets)
lv_btn
:按钮,支持点击事件。lv_label
:文本标签,支持长文本换行和格式化。lv_img
:显示图像(支持 PNG、JPG 等,需解码库支持)。lv_btnmatrix
:按钮矩阵,用于创建多个按钮的布局。lv_dropdown
:下拉列表,支持选项选择。lv_roller
:滚轮选择器,用于从列表中选择项。lv_slider
:滑动条,支持水平/垂直拖动。lv_switch
:开关按钮,类似 iOS 的开关控件。lv_checkbox
:复选框,带可选标签的勾选框。lv_line
:绘制直线或折线。
3. 输入与表单 (Input & Form)
lv_textarea
:文本输入框,支持多行输入和滚动。lv_keyboard
:虚拟键盘,与lv_textarea
配合使用。lv_arc
:弧形控件,可用于旋钮或进度指示。lv_bar
:进度条,显示水平/垂直进度。lv_led
:LED 灯效果,表示布尔状态(开/关)。
4. 视觉与动画 (Visual & Animation)
lv_spinner
:加载旋转动画,表示等待状态。lv_chart
:图表,支持折线图、柱状图等。lv_gauge
:仪表盘,显示刻度及指针(部分版本可能整合到lv_arc
或lv_bar
)。lv_canvas
:画布,支持直接像素操作或绘制图形。
5. 容器与布局 (Containers & Layouts)
lv_cont
:容器,用于简单布局(如居中、对齐)。lv_page
:可滚动的容器(注:后续版本中可能被lv_obj
替代)。lv_tabview
:标签页视图,管理多个标签页。lv_tileview
:平铺视图,支持滑动切换子页面。lv_win
:窗口控件,带标题栏和内容区。
6. 特殊用途组件
lv_msgbox
:弹出消息对话框。lv_calendar
:日历控件,显示日期选择。lv_colorpicker
:颜色选择器(部分版本可能未包含)。lv_meter
:高级仪表(需确认 8.2 是否存在,可能在后续版本添加)。
7. 其他工具
lv_timer
:定时器(非可视部件,用于后台任务)。lv_style
:样式系统,控制部件的外观(如颜色、字体、边距)。
注意事项
- 版本差异:LVGL 更新较快,部分组件(如
lv_meter
、lv_span
)可能在 8.2 之后引入。 - 自定义能力:所有部件均可通过样式系统和事件回调高度定制。
- 布局系统:8.2 支持 Flex 布局(
lv_flex
)和 Grid 布局(lv_grid
),需通过样式属性配置。
如需具体用法,建议查阅 LVGL 8.2 的官方文档或示例代码。