lvgl v8之Snapping
- switch开关事件处理函数
static void sw_event_cb(lv_event_t* e)
{lv_event_code_t code = lv_event_get_code(e); // 获取事件codelv_obj_t* sw = lv_event_get_target(e); //获取目标事件对象if (code == LV_EVENT_VALUE_CHANGED) { //值改变事件lv_obj_t* list = lv_event_get_user_data(e); //获取事件用户数据if (lv_obj_has_state(sw, LV_STATE_CHECKED)) lv_obj_add_flag(list, LV_OBJ_FLAG_SCROLL_ONE); // 开启滚动一屏功能else lv_obj_clear_flag(list, LV_OBJ_FLAG_SCROLL_ONE);// 关闭滚动一屏功能}}
- 创建scroll snap
/**
* Show an example to scroll snap
*/
static void lv_example_scroll_2(void)
{lv_obj_t* panel = lv_obj_create(lv_scr_act()); //创建当前活动界面对象lv_obj_set_size(panel, 280, 120); // 设置大小lv_obj_set_scroll_snap_x(panel, LV_SCROLL_SNAP_CENTER); //设置x方向滚动snap特性lv_obj_set_flex_flow(panel, LV_FLEX_FLOW_ROW); // 设置LV_FLEX_FLOW_ROW方式lv_obj_align(panel, LV_ALIGN_CENTER, 0, 20); /x居中,y居中向下20像素对齐uint32_t i;for (i = 0; i < 10; i++) {lv_obj_t* btn = lv_btn_create(panel); // 创建button对象lv_obj_set_size(btn, 150,lv_pct(100)); //设置大小lv_obj_t* label = lv_label_create(btn); //创建labelif (i == 3) { lv_label_set_text_fmt(label, "Panel %d\nno snap", i); //设置文字内容lv_obj_clear_flag(btn, LV_OBJ_FLAG_SNAPPABLE); //清除snap特性}else {lv_label_set_text_fmt(label, "Panel %d", i); //设置文字内容}lv_obj_center(label); //居中显示}lv_obj_update_snap(panel, LV_ANIM_ON); //开启snap动画
#if LV_USE_SWITCH/*Switch between "One scroll" and "Normal scroll" mode*/lv_obj_t* sw = lv_switch_create(lv_scr_act()); // 创建switch对象lv_obj_align(sw, LV_ALIGN_TOP_RIGHT, -20, 10); // 顶部右对齐lv_obj_add_event_cb(sw, sw_event_cb, LV_EVENT_ALL, panel); // 开关事件设置lv_obj_t* label = lv_label_create(lv_scr_act()); // 创建labellv_label_set_text(label, "One scroll"); // 显示文字lv_obj_align_to(label, sw, LV_ALIGN_OUT_BOTTOM_MID, 0, 5);// 对齐到switch开关
#endif
}
- 调用lv_example_scroll_2,编译运行
lvgl v8之Snapping相关推荐
- Ai-WB1系列驱动4.0寸电阻触摸屏运行LVGL v8.3
文章目录 @[TOC](文章目录) 前言 一.功能预览 1.滑动条和按钮 2. 页面切换 3.动画效果 4.RGB控制功能 1)红灯控制 2)绿灯控制 3)蓝灯控制 4)幻彩灯控制 二.接线 二.固件 ...
- STM32移植Littlevgl(LVGL)V8.0.2使用文件系统+BMP解码显示外部FLASH中图片
说明:选择BMP解码图片的方式,是因为此方式不需要占用太多的RAM 一.主要参数及版本 MCU:STM32F103ZET6 LCD:2.8寸ILI9341,使用FSMC驱动 SPI FLASH:W25 ...
- LVGL V8学习之colorwheel色轮
这一篇来研究下LVGL V8下colorwheel色轮的使用,这个色轮是HSV样式的,下面的代码通过创建色轮对象,然后添加对象事件处理,移动旋钮,显示对应的颜色和RGB值 还是通过codeblock来 ...
- 【分析笔记】LVGL v8.2.0 使用 freetype 概率性无显示的问题
使用目前最新的 Releases 版本 LVGL v8.2.0 ,移植好 freetype2 后测试,发现每次启动程序时会高概率出现屏幕显示全白色背景,无任何内容的问题. 打开日志开关,出现问题时会有 ...
- lvgl v8 line_meter
最近由于项目需要,想要完成如图的特效 网上查了很多关于line_meter的demo,大多基于v7以下的,无法使用.所以针对v8,想做这么一个界面. 这里我直接贴程序了 lv_obj_t* lmete ...
- LVGL v8学习笔记 | 01 - LVGL PC模拟器初体验
一.LVGL LVGL官网:https://lvgl.io/. LVGL全称Light and Versatile Graphics Library,轻量化和多功能的图形库,遵循MIT开源许可协议,具 ...
- ESP32在Arduino框架下使用LVGL(v8.3)
效果展示 小相机,按一下能拍照,并将照片保存在sd卡中. 开发环境 使用的时VSCode+PlatformIO进行开发(强力推荐,用了就回不去了),当然也可以使用ArduinoIDE进行开发. 具体怎 ...
- LVGL V8之显示中文
使用在线工具转换字体 在线转换工具 转换"长风破浪会有时\n直挂云帆济沧海" 转换好的文件内容 /***************************************** ...
- LVGL V8之Event bubbling
按键事件处理 static void event_cb(lv_event_t* e) {lv_obj_t* target = lv_event_get_target(e); //获取事件产生的对象lv ...
最新文章
- linux下jboss的安装配置
- Linux echo 显示内容颜色
- 如何将Visio图形转换成EPS格式【mark from百度知道】
- Docker 1.10版本发布
- Python爬虫开发:贴吧案例
- python 傅里叶_基于python的图像傅里叶处理
- 【OpenJ_Bailian - 1258】【POJ - 1258】Agri-Net (最小生成树裸题)
- HSSFworkbook,XSSFworkbook,SXSSFworkbook区别总结
- django 模板mysql_59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用...
- WordPress插件、Erphp loggedin汉化版插件、 异地IP登录自动禁封用户
- 连接池和 Timeout expired异常【转】
- 台式电脑怎么截屏_台式电脑怎么使用无线网卡
- 明日方舟泰拉世界解析
- 《结构思考力》如何把200ml的水倒入100ml的杯子里?
- 王者荣耀8月15日服务器维护,王者荣耀:8月15日更新,10件装备调整,依旧互秒荣耀...
- canvas mdn_MDN文档 canvas教程笔记
- android 5.0 wifi移植,android wifi移植
- Arduino与Proteus仿真实例-LM75温度传感器驱动仿真
- 第十四届校模拟赛第一期(一)
- Basemap绘制地图