littleVGL学习笔记12——lv_cb 复选框

1. 介绍

  lv_cb 复选框是由 3 部分组成的,第一部分是最外层的背景,第二部分是内部左侧的小方块,这个小方块其实就是一个 lv_btn 按钮,所以这个小方块也具有 5 种状态和相应的 5 个样式,第三部分是内部右侧的文本,这个文本其实就是 lv_label 标签,可以通过 lv_cb_set_text 接口来给复选框设置文本,通过 lv_cb_set_checked 接口来设置复选框是否被选中,当复选框被点击时,它会发送一个 LV_EVENT_VALUE_CHANGED 事件给它的事件回调函数,然后就是复选框的大小是自适应的,也就是说使用 lv_obj_set_size 接口来设置复选框的大小是无效的,它只会根据它内部的文本大小来决定自身的大小。在这里插入图片描述

2. lv_cb 的 API 接口

2.1 主要数据类型

2.1.1 复选框样式数据类型
enum {
LV_CB_STYLE_BG,
LV_CB_STYLE_BOX_REL,
LV_CB_STYLE_BOX_PR,
LV_CB_STYLE_BOX_TGL_REL,
LV_CB_STYLE_BOX_TGL_PR,
LV_CB_STYLE_BOX_INA,
};
typedef uint8_t lv_cb_style_t;

  这上面有 6 种样式,其中只有 LV_CB_STYLE_BG 这一种样式是用来修饰背景和文本的,其他的 5 种样式都是用来修饰内部左侧的小方块的,因为我们前面说过这个小方块其实就是lv_btn 按钮,所以这里的 5 种样式就是对应着按钮的 5 种样式。
LV_CB_STYLE_BG: 使用style.body来修饰背景部分,使用style.text来修饰文本部分,这种样式的默认值为 lv_style_transp。

2.2 API 接口

2.2.1 创建对象
lv_obj_t * lv_cb_create(lv_obj_t * par, const lv_obj_t * copy);

参数:
par: 父对象
copy: 拷贝的对象,如果无拷贝的话,传 NULL 值
返回值:
返回创建出来的对象,如果返回 NULL 的话,说明堆空间不够了。

2.2.2 设置动态文本
void lv_cb_set_text(lv_obj_t * cb, const char * txt);

参数:
cb: 复选框对象
txt: 文本内容
  这里动态的意思是说 littleVGL 内部会为这个文本内容重新分配相应大小的堆空间。

2.2.3 设置静态文本
void lv_cb_set_static_text(lv_obj_t * cb, const char * txt);

参数:
cb: 复选框对象
txt: 文本内容
  这里静态的意思是说 littleVGL 内部不会为这个文本内容分配堆空间,所以你得保证这个txt 文本资源在外面不会被释放。

2.2.4 设置复选框是否选中
static inline void lv_cb_set_checked(lv_obj_t * cb, bool checked);

参数:
cb: 复选框对象
checked: 是否选中复选框

2.2.5 设置复选框为禁用状态
static inline void lv_cb_set_inactive(lv_obj_t * cb);

参数:
cb: 复选框对象
  当调用此接口把复选框设置为禁用状态后 , 内部左侧的小方块就会显示出LV_CB_STYLE_BOX_INA 指定的样式外观,与此同时不管用户怎么点击,复选框的状态都不会再被改变了,但是只要有点击,复选框就会把LV_EVENT_VALUE_CHANGED 事件发送给它的事件回调函数。

2.2.6 设置样式
void lv_cb_set_style(lv_obj_t * cb, lv_cb_style_t type, const lv_style_t * style);

参数:
cb: 复选框对象
type: 设置那一部分的样式
style: 样式

2.2.7 判断复选框是否被选中
static inline bool lv_cb_is_checked(const lv_obj_t * cb);

参数:
cb: 复选框对象
返回值:
返回 true 代表复选框此时被选中了,返回 false 代表复选框此时没有被选中。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾贾乾杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值