LVGL库入门教程04-样式】的更多相关文章

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_obj_set_pos(obj, x, y) 调整一个控件的位置(或者使用类似的函数单独调整一个方向的坐标),将它放在相对父容器左上角的合适位置.不过这种布局方式非常死板,因为绝对坐标一旦设定就不能自动调整:而且当控件数量较多时,也很难确定合适的坐标值. 上一节介绍过,可以使用 lv_obj_align(obj, align, x_o…
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 结构描述.为了要设置过渡动画,需要提供以下信息: 哪些属性需要过渡 过渡前的延时 过渡持续的时间 过渡动画(以回调函…
今天进行extjs入门教程的第四篇:grid. 来一份grid尝尝 小伙伴们都知道extjs的grid功能强大,更清楚功能强大的东西用起来必然会复杂.今天我们就从最简单的grid开始讲解. 先来一个最简单的grid,让小伙伴们见识一下吧,看代码: Ext.onReady(function () { Ext.define('User', { extend: 'Ext.data.Model', fields: [ { name: 'name', type: 'string' }, { name: '…
大爽Python入门公开课教案 点击查看教程总目录 安装重量级IDE--Pycharm 一 下载 下面步骤1,2中网络卡顿的朋友, 请直接前往步骤3来下载. 使用搜索引擎搜索Pycharm, 打开搜索到的Pycharm官网 在Pycharm官网,点击右侧的蓝色Download按钮,进入下载页面. Atom官网会自动检查你的系统,自动选择适合你系统的下载页面. 选择下载页面的Community版本下载,这个是社区版,也就是免费版.(左侧的Professional专业版是收费的) 从官网粘贴的下载地…
svn上的minixml源码下载.  svn co http://svn.msweet.org/mxml/tags/release-2.7/ 按照下载回来的源代码进行编译和安装.本教程只针对新手做一个引导,大神见笑了,可以直接绕道.愿这个教程给你带来帮助. 即: ./configure make make install 随后就可以开始使用非常简洁的并可以跨很多平台的minixml 更换平台只需要将xml库使用不同的工具链重写编译一下即可啦. 开始开发的示例如下: 对应有个一minixml的中文…
svn上的minixml源码下载:svn co http://svn.msweet.org/mxml/tags/release-2.7/ 按照下载回来的源代码进行编译和安装.本教程只针对新手做一个引导,大神见笑了,可以直接绕道.愿这个教程给你带来帮助.即:./configuremakemake install 随后就可以开始使用非常简洁的并可以跨很多平台的minixml更换平台只需要将xml库使用不同的工具链重写编译一下即可啦. 开始开发的示例如下:对应有个一minixml的中文说明手册:Min…