使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第四十二讲)

这一期讲解的控件是条形码,条形码在lvgl中是没有具体控件的需要用户去自定义组件,这里使用code128并由fhunleth提供。

(1)GUI-guider中使用

在控件列表中拖拽条形码控件,将控件拖入到屏幕中然后点击条形码在右侧属性面板中可以调试参数。

(2)用法

1.在lv_conf.h中启用LV_USE_BARCODE。

2.使用lv_barcode_create()创建条形码对象,使用lv_barcode_update()生成条形码。

  1. 调用 lv_barcode_set_scale() 调整缩放,调用 lv_barcode_set_dark_color() 和 lv_barcode_set_light_color() 调整颜色,调用 lv_barcode_set_direction() 设置显示方向,再次调用 lv_barcode_update() 重新生成条形码。

(3)使用提示

• 最好不要手动设置条形码的宽度,因为当 Widget 的宽度小于条形码的宽度时,由于截断,显示会不完整。

• 缩放调整只能是整数倍,例如,lv_barcode_set_scale(barcode, 2) 意味着 2x 缩放。

• 方向调整可以是 LV_DIR_HOR 或 LV_DIR_VER。

(4)代码

//Write style for screen_1, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.

lv_obj_set_style_bg_opa(ui->screen_1, 255, LV_PART_MAIN|LV_STATE_DEFAULT);

lv_obj_set_style_bg_color(ui->screen_1, lv_color_hex(0xffffff), LV_PART_MAIN|LV_STATE_DEFAULT);

lv_obj_set_style_bg_grad_dir(ui->screen_1, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);

//Write codes screen_1_barcode_1

//创建条形码对象

ui->screen_1_barcode_1 = lv_barcode_create(ui->screen_1);

//设置条形码尺寸

lv_obj_set_height(ui->screen_1_barcode_1, 50);

//设置缩放比例为1

lv_barcode_set_scale(ui->screen_1_barcode_1, 1);

//设置深色条颜色

lv_barcode_set_dark_color(ui->screen_1_barcode_1, lv_color_hex(0x2C3224));

//设置浅色背景色

lv_barcode_set_light_color(ui->screen_1_barcode_1, lv_color_hex(0xffffff));

//更新条形码数据并显示

const char * screen_1_barcode_1_data = "www.baidu.com";

lv_barcode_update(ui->screen_1_barcode_1, screen_1_barcode_1_data);

//确认位置和高度

lv_obj_set_pos(ui->screen_1_barcode_1, 136, 208);

lv_obj_set_height(ui->screen_1_barcode_1, 50);

本文章由威三学社出品

对课程感兴趣可以私信联系

相关推荐
Zhou1411368 小时前
Java常见面试题7
java·开发语言
带刺的坐椅8 小时前
代码审查 Agent Harness 实战:AI 自动 Code Review
java·ai·llm·agent·solon·soloncode·harness
可儿·四系桜8 小时前
经纬度转北斗网格位置码(非极地区域,编码篇)
java·物联网
唐青枫8 小时前
Java ActiveMQ 实战指南:从 JMS 队列、主题到 Spring Boot 消息处理
java
三少爷的鞋8 小时前
Android 面试系列:Kotlin 协程的 delay 到底发生在哪个线程?
android
码兄科技16 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
折哥的程序人生 · 物流技术专研16 小时前
第8篇:六大设计原则在工厂模式中的体现
java·设计模式·设计原则·工厂模式·编程进阶·扩充系列
小明bishe1817 小时前
计算机毕业设计之基于JAVA的植物科普网站
java·spring boot·spring·架构·课程设计
r_oo_ki_e_17 小时前
Java Map 集合学习笔记
java·笔记·学习