文章目录

  • 1.lv_slider
  • 2.lv_style
  • 3.按钮
    • 例子1
    • 例子2
  • 4.label
  • 5.例子

1.lv_slider

void lv_ex_get_started_3(void)
{/* 创建一个滑块 */lv_obj_t * slider = lv_slider_create(lv_scr_act(), NULL);lv_obj_set_width(slider, 200);                        /*Set the width*/lv_obj_align(slider, NULL, LV_ALIGN_CENTER, 0, 0);    /*Align to the center of the parent (screen)*/lv_obj_set_event_cb(slider, slider_event_cb);         /*slider_event_cb 是回调函数*//* 创建一个文本 */label = lv_label_create(lv_scr_act(), NULL);lv_label_set_text(label, "0");lv_obj_set_auto_realign(slider, true);                          /*To keep center alignment when the width of the text changes*/lv_obj_align(label, slider, LV_ALIGN_OUT_BOTTOM_MID, 0, 20);    /*Align below the slider*/
}/*回调函数*/
static void slider_event_cb(lv_obj_t * slider, lv_event_t event)
{if(event == LV_EVENT_VALUE_CHANGED) {/*Refresh the text*/lv_label_set_text_fmt(label, "%d", lv_slider_get_value(slider));}
}

另外 lv_slider_set_value(slider, 70, LV_ANIM_OFF); 可以设置滑块默认的值

2.lv_style


void lv_ex_style_10(void)
{static lv_style_t style;lv_style_init(&style);/*Set a background color and a radius*/lv_style_set_radius(&style, LV_STATE_DEFAULT, 5);  //圆角是5 ;对象状态是默认的LV_STATE_DEFAULTlv_style_set_bg_opa(&style, LV_STATE_DEFAULT, LV_OPA_COVER); //对象状态是默认的LV_STATE_DEFAULT;lv_style_set_bg_color(&style, LV_STATE_DEFAULT, LV_COLOR_SILVER);//颜色/*按下时 颜色改变*/lv_style_set_bg_color(&style, LV_STATE_PRESSED, LV_COLOR_GRAY);//对象状态是 LV_STATE_PRESSED;当这个状态时 ,颜色变成GRAY/*Set different transition time in default and pressed state*fast press, slower revert to default*//*译文:不同模式下切换状态的时间长短   */lv_style_set_transition_time(&style, LV_STATE_DEFAULT, 500);lv_style_set_transition_time(&style, LV_STATE_PRESSED, 200);/*Small delay to make transition more visible*/// lv_style_set_transition_delay(&style, LV_STATE_DEFAULT, 100);/*Add `bg_color` to transitioned properties*/lv_style_set_transition_prop_1(&style, LV_STATE_DEFAULT, LV_STYLE_BG_COLOR);/*Create an object with the new style*/lv_obj_t * obj = lv_obj_create(lv_scr_act(), NULL);lv_obj_add_style(obj, LV_BTN_PART_MAIN, &style);lv_obj_align(obj, NULL, LV_ALIGN_IN_TOP_LEFT, 0, 0);
}

3.按钮

例子1


void lv_ex_get_started_1(void)
{
//创建一个按钮lv_obj_t * btn = lv_btn_create(lv_scr_act(), NULL);     /*Add a button the current screen*/lv_obj_set_pos(btn, 10, 10);                            /*Set its position*/lv_obj_set_size(btn, 120, 50);                          /*Set its size*/lv_obj_set_event_cb(btn, btn_event_cb);                 /*回调函数btn_event_cb*/
//创建一个文本lv_obj_t * label = lv_label_create(btn, NULL);          /*Add a label to the button*/lv_label_set_text(label, "Button");                     /*Set the labels text*/
}//这是按钮的  回调函数
static void btn_event_cb(lv_obj_t * btn, lv_event_t event)
{if(event == LV_EVENT_CLICKED) {static uint8_t cnt = 0;cnt++;/*Get the first child of the button which is the label and change its text*/lv_obj_t * label = lv_obj_get_child(btn, NULL);lv_label_set_text_fmt(label, "Button: %d", cnt);}
}

例子2

4.label

  lv_obj_t *label = lv_label_create(lv_scr_act(),NULL);lv_label_set_text_fmt(label, "%d", 28);  // 显示数字
lv_obj_align(label, NULL, LV_ALIGN_CENTER, 0, 0);//中间对齐

5.例子


void lv_ex_get_started_2(void)
{static lv_style_t style_btn;static lv_style_t style_btn_red;/*Create a simple button style*/lv_style_init(&style_btn);lv_style_set_radius(&style_btn, LV_STATE_DEFAULT, 10);lv_style_set_bg_opa(&style_btn, LV_STATE_DEFAULT, LV_OPA_COVER);lv_style_set_bg_color(&style_btn, LV_STATE_DEFAULT, LV_COLOR_SILVER);lv_style_set_bg_grad_color(&style_btn, LV_STATE_DEFAULT, LV_COLOR_GRAY);lv_style_set_bg_grad_dir(&style_btn, LV_STATE_DEFAULT, LV_GRAD_DIR_VER);/*Swap the colors in pressed state*/lv_style_set_bg_color(&style_btn, LV_STATE_PRESSED, LV_COLOR_GRAY);lv_style_set_bg_grad_color(&style_btn, LV_STATE_PRESSED, LV_COLOR_SILVER);/*Add a border*/lv_style_set_border_color(&style_btn, LV_STATE_DEFAULT, LV_COLOR_WHITE);lv_style_set_border_opa(&style_btn, LV_STATE_DEFAULT, LV_OPA_70);lv_style_set_border_width(&style_btn, LV_STATE_DEFAULT, 2);/*Different border color in focused state*/lv_style_set_border_color(&style_btn, LV_STATE_FOCUSED, LV_COLOR_BLUE);lv_style_set_border_color(&style_btn, LV_STATE_FOCUSED | LV_STATE_PRESSED, LV_COLOR_NAVY);/*Set the text style*/lv_style_set_text_color(&style_btn, LV_STATE_DEFAULT, LV_COLOR_WHITE);/*Make the button smaller when pressed*/lv_style_set_transform_height(&style_btn, LV_STATE_PRESSED, -5);lv_style_set_transform_width(&style_btn, LV_STATE_PRESSED, -10);
#if LV_USE_ANIMATION/*Add a transition to the size change*/static lv_anim_path_t path;lv_anim_path_init(&path);lv_anim_path_set_cb(&path, lv_anim_path_overshoot);lv_style_set_transition_prop_1(&style_btn, LV_STATE_DEFAULT, LV_STYLE_TRANSFORM_HEIGHT);lv_style_set_transition_prop_2(&style_btn, LV_STATE_DEFAULT, LV_STYLE_TRANSFORM_WIDTH);lv_style_set_transition_time(&style_btn, LV_STATE_DEFAULT, 300);lv_style_set_transition_path(&style_btn, LV_STATE_DEFAULT, &path);
#endif/*Create a red style. Change only some colors.*/lv_style_init(&style_btn_red);lv_style_set_bg_color(&style_btn_red, LV_STATE_DEFAULT, LV_COLOR_RED);lv_style_set_bg_grad_color(&style_btn_red, LV_STATE_DEFAULT, LV_COLOR_MAROON);lv_style_set_bg_color(&style_btn_red, LV_STATE_PRESSED, LV_COLOR_MAROON);lv_style_set_bg_grad_color(&style_btn_red, LV_STATE_PRESSED, LV_COLOR_RED);lv_style_set_text_color(&style_btn_red, LV_STATE_DEFAULT, LV_COLOR_WHITE);
#if LV_USE_BTN/*Create buttons and use the new styles*/lv_obj_t * btn = lv_btn_create(lv_scr_act(), NULL);     /*Add a button the current screen*/lv_obj_set_pos(btn, 10, 10);                            /*Set its position*/lv_obj_set_size(btn, 120, 50);                          /*Set its size*/lv_obj_reset_style_list(btn, LV_BTN_PART_MAIN);         /*Remove the styles coming from the theme*/lv_obj_add_style(btn, LV_BTN_PART_MAIN, &style_btn);lv_obj_t * label = lv_label_create(btn, NULL);          /*Add a label to the button*/lv_label_set_text(label, "Button");                     /*Set the labels text*//*Create a new button*/lv_obj_t * btn2 = lv_btn_create(lv_scr_act(), btn);lv_obj_set_pos(btn2, 10, 80);lv_obj_set_size(btn2, 120, 50);                             /*Set its size*/lv_obj_reset_style_list(btn2, LV_BTN_PART_MAIN);         /*Remove the styles coming from the theme*/lv_obj_add_style(btn2, LV_BTN_PART_MAIN, &style_btn);lv_obj_add_style(btn2, LV_BTN_PART_MAIN, &style_btn_red);   /*Add the red style on top of the current */lv_obj_set_style_local_radius(btn2, LV_BTN_PART_MAIN, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE); /*Add a local style*/label = lv_label_create(btn2, NULL);          /*Add a label to the button*/lv_label_set_text(label, "Button 2");                     /*Set the labels text*/
#endif
}

littleVGL总结相关推荐

  1. littlevgl抗锯齿_「VGL」littlevGL:字体与汉字 - seo实验室

    VGL 使用各种嵌入式GUI时,总会遇到"汉字显示""字体"这些关卡. 阅读本文前,最好已经了解Uincode,UTF-8,UTF-16,GBK,gb2312相 ...

  2. 【LittlevGL】模拟器

    LittlevGL提供的模拟器有很多种: 我使用的是VS版本的模拟器进行测试,github主页:https://github.com/littlevgl/pc_simulator_sdl_visual ...

  3. Luat 功能开发教程(十六) LittleVGL

    目录 LittleVGL 简介 控件API说明 实现流程 示例 image控件 Canvas控件 button控件 Arc控件(加载器) page控件 label控件 Slider控件 switch控 ...

  4. 【LittleVGL】Windows环境下利用CodeBlocks搭建LittleVGL的PC模拟器环境配置问题

    本章目的:   1.在学习使用LittleVGL构架搭建GUI图形界面时,使用CodeBlocks IDE集成开发环境来配置和测试GUI系统.   2.解决在搭建LittleVGL环境时遇到的问题   ...

  5. ubuntu18.04 littlevgl运行环境搭建

    1.下载代码: $git clone https://gitclone.com/github.com/littlevgl/pc_simulator.git $cd pc_simulator $git ...

  6. littleVGL学习笔记8——lv_cont 容器

    1. 介绍   所谓的容器就是一个载体,用来装东西的,在 littleVGL 中,可以用来存放各种各样的子对象,当子对象的数量越来越多时,子对象们在父容器中的排列方式就显得尤为重要,因此lv_cont ...

  7. ESP32 开发笔记(四)littleVGL LVGL 控件学习 Arc 弧形控件

    先看效果,创建了两个Arc 弧形控件,一个可触摸拖动的默认风格,一个动画控制的自定义风格的弧形控件 ESP-IDF版本:V4.2 littleVGL版本:V7.10.0 开发板购买链接https:// ...

  8. LittleVGL(LVGL)学习笔记——PC 模拟器的安装和使用(CodeBlocks)

    目录 一.简介 1.LittleVGL 所支持的 IDE 软件种类: 2.需要的工具: 二.安装配置软件和环境 1.littleVGL 模拟器库 2.安装CodeBlocks 三.创建工程项目 四.配 ...

  9. LittleVGL『Objects对象』介绍

    一. LVGL对象概念 littleVGL 是以对象为概念的,而其最核心的基础对象是 lv_obj 控件,其他的所有专用控件(比如按钮,标签,列表等)都是在此 lv_obj 对象的基础上衍生出来的. ...

  10. LittleVGL踩坑指南03:Arduino下显示和触摸驱动配置(TFT_eSPI)

    文章版本7.10,LVGL更新极快,不同版本配置方法可能存在差异 前言   触摸搞了好几天,坑太多了,好在总算飞过来了.顺便把显示驱动也写了:提前说一下,我的硬件是2.4寸ILI9341驱动屏幕+XP ...

最新文章

  1. jquery实现截取pc图片_jquery 上传图片自由截取
  2. UI设计师必知:link和@import引用css文件方法的区别
  3. 【HAOI2010】工厂选址题解
  4. python基础-字典的增删改查
  5. 中小企业怎样转型做跨境电商独立站?
  6. JAVA中dot的用法_Java 方法
  7. Sublime Text3报错:Error while loading PyV8 binary:exit code 3
  8. N81各种问题解决汇总
  9. qu32调音台说明书_Qu-32 数字调音台
  10. 矩阵分解 Cholesky分解
  11. python行列式值计算程序_2、3阶行列式计算(python代码)
  12. 联合概率 条件概率 边缘概率之间关系
  13. Netflix公司Druid应用实践
  14. 小学和初中计算机的图案,信息技术和小学数学“图形和几何”的有效融合
  15. python 词云(Word Cloud)设计
  16. HDMI RGB_TO_DVI模块
  17. excel怎么拆分成多个独立表格文件
  18. eversync safari_EverSync安卓版
  19. Hive记录-Hive常用命令操作
  20. Python字符串处理:过滤字符串中的英文与符号,保留汉字

热门文章

  1. Linux Deamon函数
  2. 高级英语(张汉熙版)第一册学习笔记(原文及全文翻译)——2 - Hiroshima-The “Liveliest“ City in Japan (excerpts)(广岛——日本“最有活力”的城市)
  3. .caj文件转换为.pdf文件
  4. 订单导出(淘宝天猫)
  5. 八种常见的防盗链方法总结及分析 (转自http://www.cnblogs.com/uubox)
  6. 4k视频分辨率的码流_拍摄4K,30帧视频,多少码率合适?
  7. c语言求闰年while,基础练习 闰年判断 c语言
  8. 干货分享:如何把APP软文推广做到好
  9. 【移动安全高级篇】————2、浅谈Android软件安全自动化审计
  10. 计算机上fn按键,fn键设置方法