1 按键btn介绍
在 LVGL(Light and Versatile Graphics Library) 中,btn(按钮)是一种常用的基础控件,用于实现用户点击交互。它通常作为触发某些操作(如切换界面、提交表单、开启功能等)的界面元素。
1.1 特点
-
可点击:最基本的功能是响应点击事件。
-
可嵌套内容:你可以在按钮中放置 label、image、icon 等对象。
-
支持状态变化:如按下、高亮、禁用、被选中等。
-
可样式化:背景颜色、边框、透明度、圆角、阴影等均可自定义。
-
支持“开关”模式:可通过 LV_OBJ_FLAG_CHECKABLE 实现切换状态(选中/未选中)。
1.2 创建步骤
创建按钮一般分三步:
-
创建对象:用 lv_btn_create() 创建按钮对象。
-
放入内容:如 lv_label_create() 放入文字。
-
注册事件:使用 lv_obj_add_event_cb() 添加点击事件响应。
1.3 风格设定
-
背景颜色(bg_color)
-
透明度(bg_opa)
-
边框(border_color, border_width)
-
圆角(radius)
-
阴影(shadow_width, shadow_color)
2 常见函数介绍
2.1 基本函数
- 创建
lv_obj_t *btn = lv_btn_create(lv_scr_act()); // 创建一个按钮
- 设定大小 lv_obj_set_size()
l`v_obj_set_size(btn, 100, 50); // 设置按钮大小为 100x50`
- 对齐 lv_obj_align()
lv_obj_align(btn, LV_ALIGN_CENTER, 0, 0); // 将按钮居中
- 为按钮(或其他对象)添加事件回调函数。 lv_obj_add_event_cb()
lv_obj_add_event_cb(btn, my_btn_event_handler, LV_EVENT_CLICKED, NULL);
2.2 风格
按钮的风格(style)是用来定义按钮外观的方式。你可以通过风格设置来控制按钮的背景、边框、圆角、字体等各个视觉元素。按钮风格的操作在 LVGL 中是非常重要的,因为它允许你自定义控件的外观和交互反馈。
- 风格对象(lv_style_t)
所有控件的风格都使用 lv_style_t 对象来定义,它包含了控件的所有视觉属性,例如背景颜色、边框样式、字体等。
lv_style_t 是一个结构体,包含多个视觉属性,可以通过 API 函数来设置或修改。
- 创建和初始化风格
在 LVGL 中,风格通常是通过 lv_style_t 对象来创建的。可以使用 lv_style_init() 初始化风格对象,接着使用不同的风格设置函数来定义具体的样式。
static lv_style_t style;
lv_style_init(&style);
- 设置按钮的背景风格
使用 lv_style_set_bg_color()、lv_style_set_bg_grad_color() 等函数来设置按钮背景的颜色、渐变等。
lv_style_set_bg_color(&style, LV_COLOR_RED);
lv_style_set_bg_opa(&style, LV_OPA_COVER); // 设置背景的不透明度
- 设置按钮的边框
使用 lv_style_set_border_color()、lv_style_set_border_width() 等函数来设置按钮边框的颜色、宽度等。
l
v_style_set_border_color(&style, LV_COLOR_BLACK);
lv_style_set_border_width(&style, 2);
- 设置按钮的圆角
使用 lv_style_set_radius() 来设置按钮的圆角大小。
lv_style_set_radius(&style, 10); // 设置圆角半径为 10
- 设置按钮的阴影<

5196

被折叠的 条评论
为什么被折叠?



