lvgl Tabview
时间: 2025-04-22 20:58:30 浏览: 59
### LVGL Tabview 组件介绍
LVGL 的 `tabview` 是一种用于创建标签页视图的控件,允许用户通过点击不同的标签来切换显示的内容。这种组件非常适合构建具有多个页面或不同功能区的应用程序界面。
#### 创建 Tabview 实例
要初始化一个新的 `tabview` 对象并将其添加到当前屏幕中,可以使用如下代码:
```c
lv_obj_t * tabview = lv_tabview_create(lv_scr_act(), NULL);
```
这段代码会创建一个默认配置下的 `tabview` 并设置其父容器为当前激活的屏幕对象[^2]。
#### 添加新的标签页
为了向已有的 `tabview` 中增加新标签页,可调用函数 `lv_tabview_add_tab()` 来实现这一目的。下面是一个简单的例子展示如何新增两个名为 "Tab 1" 和 "Tab 2" 的标签页:
```c
lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "Tab 1");
lv_obj_t * tab2 = lv_tabview_add_tab(tabview, "Tab 2");
```
这里返回的对象指针 (`tab1`, `tab2`) 可以用来进一步定制各个标签页内的内容布局和其他属性。
#### 自定义样式与行为
对于更高级的需求来说,还可以调整一些特定标志位来自定义 `tabview` 行为。例如,在某些情况下可能希望禁用滚动条,则可以通过清除相应的标记达到效果:
```c
lv_obj_clear_flag(lv_tabview_get_content(obj), LV_OBJ_FLAG_SCROLLABLE);
```
此操作使得整个 `tabview` 内部不再支持自动滚动生成更多空间给子元素排列[^3]。
#### 完整示例代码
综合上述知识点,给出一段完整的 C 语言源码片段作为参考:
```c
#include "lvgl/lvgl.h"
void create_tabs_example(void){
/* Create a tab view */
lv_obj_t * tabview = lv_tabview_create(lv_scr_act(), NULL);
/* Add two tabs to the created tab view */
lv_obj_t * tab1 = lv_tabview_add_tab(tabview, "First Page");
lv_obj_t * tab2 = lv_tabview_add_tab(tabview, "Second Page");
// Optional: Customize appearance or behavior here...
}
```
以上就是关于 LVGL 库内 `tabview` 控制器的基础讲解以及简单应用实例。
阅读全文
相关推荐

















