LVGL库入门教程03-布局方式】的更多相关文章

LVGL布局方式 LVGL的布局 上一节介绍了如何在 LVGL 中创建控件.如果在创建控件时不给控件安排布局,那么控件默认会被放在父容器的左上角. 可以使用 lv_obj_set_pos(obj, x, y) 调整一个控件的位置(或者使用类似的函数单独调整一个方向的坐标),将它放在相对父容器左上角的合适位置.不过这种布局方式非常死板,因为绝对坐标一旦设定就不能自动调整:而且当控件数量较多时,也很难确定合适的坐标值. 上一节介绍过,可以使用 lv_obj_align(obj, align, x_o…
LVGL库移植STM32 LVGL库简介 LVGL(Light and Versatile Graphics Library)是一个免费.开源的嵌入式图形库,可以创建丰富.美观的界面,具有许多可以自定义样式的控件,支持按键或触摸响应,支持中文字符,并且内存占用较低.可以在 https://lvgl.io/demos 使用网页端体验 LVGL 的动态效果,再决定是否需要使用 LVGL . LVGL 使用 C 语言编写,可以用在树莓派.ESP32 .STM32 等单片机上,并支持各种中大型屏幕(只需…
LVGL 本质上是一个 GUI 库,它包含大量的控件(widget),即按钮.标签.滑块.菜单栏这种具有一定人机交互特征的组合图形.LVGL 在设计时,采用了一定面向对象编程的设计思路,有效降低了代码编写的难度. LVGL 和大多数 GUI 库的工作方式都是类似的,其代码编写的基础思路为: 创建 GUI 根窗体对象 在窗体上绘制各种控件 为控件编写响应函数函数 在主事件循环中等待用户触发事件响应 如果之前有 GUI 库的使用经验的话,应该可以比较容易明白 LVGL 代码的编写思路. 标签 标签(…
LVGL样式 LVGL样式概述 创建样式 在 LVGL 中,样式都是以对象的方式存在,一个对象可以描述一种样式.每个控件都可以独立添加样式,创建的样式之间互不影响. 可以使用 lv_style_t 类型创建一个样式并初始化: static lv_style_t style; lv_style_init(&style); 样式是延迟渲染的,因此需要使用 static 存储类别说明符或将其声明为全局变量. 样式是多方面的,不仅包括颜色和形状,还包括边距.边框,甚至动画变换效果等细节. LVGL 中的…
颜色 构造颜色 在 LVGL 中,颜色以结构 lv_color_t 表示.在最开始移植整个工程时,曾经在 lv_conf.h 中修改过颜色深度: /*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/ #define LV_COLOR_DEPTH 32 LVGL 会自动根据所选的颜色深度创建合适的颜色结构.在接下来几处位置还有几个与颜色有关的配置选项,可以参照注释修改. 例如,16 位 big-e…
动画可以说是 LVGL 中的特色之一,不过在使用动画前,请确保单片机具有足够的性能来维持足够的帧率. transition:过渡动画 当一个控件的状态发生改变时,可以让样式也发生变化以提醒用户.通过过渡动画(transition)可以让样式的改变更自然.例如,按钮在点击时,以及开关在切换时,都具有一小段的过渡动画. 过渡动画使用 lv_style_transition_dsc_t 结构描述.为了要设置过渡动画,需要提供以下信息: 哪些属性需要过渡 过渡前的延时 过渡持续的时间 过渡动画(以回调函…
大爽Python入门公开课教案 点击查看教程总目录 安装轻量级IDE--Atom 一 下载 下面步骤1,2中网络卡顿的朋友, 请直接查看步骤3来操作 1. 搜索官网 使用搜索引擎搜索Atom, 打开搜索到的Atom官网 2. 官网下载 在Atom官网,直接点击右侧的黄色Download按钮下载就好. Atom官网会自动检查你的系统,自动为你推荐合适的下载版本. windows访问Atom官网效果: mac访问Atom官网效果: 3. 直接下载地址 从官网粘贴的下载地址. 点击即可使用浏览器开始下…
是时候给这些网页来点动态特性了——用AngularJS!我们这里为后面要加入的控制器添加了一个测试. 一个应用的代码架构有很多种.对于AngularJS应用,我们鼓励使用模型-视图-控制器(MVC)模式解耦代码和分离关注点.考虑到这一点,我们用AngularJS来为我们的应用添加一些模型.视图和控制器. 请重置工作目录: git checkout -f step-2 我们的应用现在有了一个包含三部手机的列表. 步骤1和步骤2之间最重要的不同在下面列出.,你可以到GitHub去看完整的差别. 视图…
svn上的minixml源码下载.  svn co http://svn.msweet.org/mxml/tags/release-2.7/ 按照下载回来的源代码进行编译和安装.本教程只针对新手做一个引导,大神见笑了,可以直接绕道.愿这个教程给你带来帮助. 即: ./configure make make install 随后就可以开始使用非常简洁的并可以跨很多平台的minixml 更换平台只需要将xml库使用不同的工具链重写编译一下即可啦. 开始开发的示例如下: 对应有个一minixml的中文…
数据部的作用 程序中涉及到的全部数据(输入.输出.中间)都要在此定义,对它们的属性进行说明.主要描述以下属性: 数据类型(数值/字符)和存储形式(长度) 数据项之间的关系(层次和层号) 文件与记录的关系 数据部可以分为: 文件节(file section):用来描述程序中用到的输入输出文件及记录中各数据项的属性 工作单元节(working-storage section): 用来描述程序中用到的中间数据 联接节(linkage section):用来描述与调用程序间发生数据传递的数据项(即参数)…