记录一下图片和图片按钮部件的异同

在 LVGL(Light and Versatile Graphics Library)中,图片(lv_img)和图片按钮(lv_btn + lv_img)是两种不同的部件,各自有不同的用途和功能。以下是它们之间的主要区别:

1. 图片 (lv_img)

  • 主要功能:显示静态图像。
  • 用户交互:图片本身不响应用户的交互事件,没有点击或触摸反馈。
  • 属性:可以设置图像的尺寸、位置、源(如图像文件、图像数组等),但没有按钮的状态(如按下、释放、禁用等)。
  • 适用场景:用于需要展示图像的场合,比如图标、背景等。

2. 图片按钮 (lv_btn + lv_img)

  • 主要功能:结合了按钮和图像的功能,既可以显示图像,又可以响应用户的交互(点击、长按等)。
  • 用户交互:可以处理用户的交互事件,如 LV_EVENT_CLICKED,可以有不同的状态(如正常、按下、悬停等)。
  • 属性:除了图像属性外,按钮部件还有很多按钮相关的属性,比如背景颜色、边框、状态等。
  • 适用场景:用于需要响应用户点击并显示图像的场合,比如图标按钮、图像链接等。

示例代码

以下是如何创建这些组件的简单示例:

创建图片
lv_obj_t * img = lv_img_create(lv_scr_act());
lv_img_set_src(img, "S:/images/my_image.png"); // 设置图像源
lv_obj_set_size(img, 100, 100);               // 设置图像大小
创建图片按钮
lv_obj_t * btn = lv_btn_create(lv_scr_act());
lv_obj_set_size(btn, 100, 100);               // 设置按钮大小
lv_obj_add_event(btn, event_handler, LV_EVENT_CLICKED, NULL); // 添加点击事件

lv_obj_t * img_btn = lv_img_create(btn); // 在按钮中创建图像
lv_img_set_src(img_btn, "S:/images/my_image.png"); // 设置图像源
lv_obj_center(img_btn);                   // 将图像置于按钮中间

总结

  • 使用 lv_img 组件来展示静态图像。
  • 使用 lv_btnlv_img 组合来创建可以点击的图片按钮,提供用户交互体验。

希望这些信息对你理解它们之间的区别有所帮助!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值