后面这四个参数什么意思?
拿官网例程仿真的时候,报错了
大佬在哪里啊,顶一下…
你应该先在 lv_conf.h 中打开 LV_USE_IMGBTN
和 LV_BUILD_EXAMPLES
,然后在你的代码中调用 lv_example_imgbtn_1();
函数,此时应该可以正常编译通过。之后进入该函数所在的文件可以查看该函数的实现。
lv_example_imgbtn_1();
函数中使用到的资源:
LV_IMG_DECLARE(imgbtn_left);
LV_IMG_DECLARE(imgbtn_right);
LV_IMG_DECLARE(imgbtn_mid);
在这个目录中,其中存放了上面说到的资源的 c 数组之外还提供了 PNG 图片:
lvgl/examples/assets
lv_imgbtn 的用法非常简单,在官方提供文档中已经说明的很清楚:
直白的说法,正常的btn是lvgl通过矩形绘制出来的,所有的东西都是由lvgl提供,我们只是提供菜单,使用 lv_imgbtn 我们提供食材,也就是按键要按照我们提供的图片来进行显示,我给什么就显示什么。我给的东西可以有三块 src_left , src_center, src_right 也就是 lv_imgbtn 由三部分组成,我们可以指定按钮左边、中间、右边的图片,并且这些图片最终能组成一个按钮(btn)。
lv_imgbtn_set_src函数的第二个参数,是指定在什么情况下显示哪些图片,,状态有:
typedef enum {
LV_IMGBTN_STATE_RELEASED,
LV_IMGBTN_STATE_PRESSED,
LV_IMGBTN_STATE_DISABLED,
LV_IMGBTN_STATE_CHECKED_RELEASED,
LV_IMGBTN_STATE_CHECKED_PRESSED,
LV_IMGBTN_STATE_CHECKED_DISABLED,
_LV_IMGBTN_STATE_NUM,
} lv_imgbtn_state_t;
这些状态定义在 lvgl/src/extra/widgets/imgbtn/lv_imgbtn.h
可以查看到。
为啥左边,中间,右边,三张图片