滚动(scroll)操作的应用
说明
滚动(scroll)
在LVGL中,滚动的工作原理非常简单,如果对象超出父对象内容区域(即无填充大小),则父对象的空间变为可滚动,任何对象都可滚动。
滚动条为对象的一个部件,通过LV_PART_SCROLLBAR可以看出。
实验
在默认屏幕中创建按钮时,按钮与屏幕为父子关系。
但是创建组(group)时,lv_group_create()的入口参数为void,即组没有父对象,通过lv_group_add_obj()函数使其它控件建立组关系,其它控件的父对象仍未屏幕。
使用组(group)时,需要使用滚动(scroll)这一动作,例如一组按钮出现时,需要手动滑动,使需要的显示的按钮排在第一位。
效果一:一组按钮的显示
效果二:一组按钮按照手动滚动的位置显示
代码实现
void lv_100ask_demo_course_2_1_1(void)
{lv_group_t *g = lv_group_create();lv_indev_set_group(lv_win32_encoder_device_object,g);//创建btn1lv_obj_t *btn1 = lv_btn_create(lv_scr_act());lv_obj_align(btn1,LV_ALIGN_CENTER,0,-50);lv_obj_set_size(btn1,200,80);lv_obj_t *label1 = lv_label_create(btn1);lv_label_set_text(label1,"01");lv_obj_align_to(label1,btn1,LV_ALIGN_CENTER,0,0);//创建btn2lv_obj_t *btn2 = lv_btn_create(lv_scr_act());lv_obj_align_to(btn2,btn1,LV_ALIGN_OUT_BOTTOM_LEFT,0,10);lv_obj_set_size(btn2,200,80);lv_obj_t *label2 = lv_label_create(btn2);lv_label_set_text(label2,"02");lv_obj_align_to(label2,btn2,LV_ALIGN_CENTER,0,0);//创建btn3lv_obj_t *btn3 = lv_btn_create(lv_scr_act());lv_obj_align_to(btn3,btn2,LV_ALIGN_OUT_BOTTOM_LEFT,0,10);lv_obj_set_size(btn3,200,80);lv_obj_t *label3 = lv_label_create(btn3);lv_label_set_text(label3,"03");lv_obj_align_to(label3,btn3,LV_ALIGN_CENTER,0,0);//创建btn4lv_obj_t *btn4 = lv_btn_create(lv_scr_act());lv_obj_align_to(btn4,btn3,LV_ALIGN_OUT_BOTTOM_LEFT,0,10);lv_obj_set_size(btn4,200,80);lv_obj_t *label4 = lv_label_create(btn4);lv_label_set_text(label4,"04");lv_obj_align_to(label4,btn4,LV_ALIGN_CENTER,0,0);lv_group_add_obj(g,btn1);lv_group_add_obj(g,btn2);lv_group_add_obj(g,btn3);lv_group_add_obj(g,btn4);//注意组合与按钮不存在父子关系lv_coord_t y = lv_obj_get_y(btn2);lv_obj_scroll_to_y(lv_obj_get_parent(btn2),y,LV_ANIM_ON); //开启后,能够看到滚动动画lv_obj_scroll_to_y(lv_scr_act(),y,LV_ANIM_ON); //按钮的父对象为当前屏幕
}
滚动(scroll)操作的应用相关推荐
- 05【JS 高级】-【PC端网页特效】元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例
04[JS 高级]-[PC端网页特效] 学习内容: 元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例 1. 元素偏移 ...
- 高性能滚动scroll(防抖和节流)
滚动优化的由来 滚动优化其实也不仅仅指滚动(scroll 事件),还包括了例如 resize 这类会频繁触发的事件. var i = 0;window.addEventListener('scr ...
- 高性能滚动 scroll 及页面渲染优化
最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...
- 31 元素滚动scroll系列
技术交流 QQ 群:1027579432,欢迎你的加入! 1.元素 scroll 系列属性 使用 scroll 系列的相关属性可以动态的得到该元素的大小.滚动距离等. 2.页面被卷去的头部 如果浏览器 ...
- Elasticsearch的Scroll操作
Scroll Version:6.1 英文原文地址:Scroll 当一个搜索请求返回单页结果时,可以使用 scroll API 检索体积大量(甚至全部)结果,这和在传统数据库中使用游标的方式非常相似. ...
- 元素滚动 scroll 系列
文章目录 元素 scroll 系列属性 页面被卷去的头部 案例:淘宝固定右侧侧边栏 页面被卷去的头部兼容性解决方案 元素 scroll 系列属性 scroll 翻译过来就是滚动的,我们使用 scrol ...
- 35.滚动 scroll
目录 1 返回自身宽度 element.scrollWidth 2 返回自身高度 element.scrollHeight 3 sroll返回自身尺寸与client返回自身尺寸的区别 4 被卷 ...
- 元素滚动 scroll 与 scroll 事件
scroll 翻译过来就是滚动的意思,我们使用 scroll 的相关属性可以得到元素大小与滚动距离等等 scroll 的相关属性: element.scrollTop:返回滚动后被卷上去的距离,返回值 ...
- JavaScript 元素滚动scroll
scroll翻译过来就是滚动的,我们使用scroll系列的相关属性可以动态的得到该元素的大小.滚动距离等. scroll系列属性 作用 element.scrollTop 返回被卷去的上侧距离,返回数 ...
- 关于滑动条滚动 scroll兼容
Ie浏览器上必须写$(window) <script type="text/javascript"> $(function(){ $(window).scroll(fu ...
最新文章
- 的g极串一个电阻_Ohm#39;s Law 简单系列D:从惠斯通(会石头)测电阻开始说
- 怎样生成分布式情况下的唯一标示?必须包含网卡字段,以便不同机器生成的唯一标示肯定不一样...
- gitlab将分支代码合并到master上
- input子系统基础之按键1——什么是input子系统?
- 【windows phone】CollectionViewSource的妙用
- 如何设置IntelliJ IDEA智能感知支持Jsp内置对象
- node mysql sequlize_初步使用Sequelize模块 - Node实战
- PDF附加字体和不附加字体
- 【Python精彩案例】生成动态二维码
- 即使被拖库,也可以保证密码不泄露(一种安全的加密方案)
- el-progress入门学习
- 利用Excel宏中文转拼音方法
- Android 三种拨号方式(kotlin)
- maven 出现:Failed to execute goal on project...Could not resolve dependencies for project
- Excel-快速填充
- 数据库复习 BCNF分解算法
- react-native的Dimensions.get(‘screen‘)和Dimensions.get(‘window‘)有什么不同
- EBS开发_收款核销API
- 百度地图绘制实时路线以及最短线路规划
- (read/write、select、getsockopt、signal)实时判断socket连接状态/是否断开