说明

        滚动(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)操作的应用相关推荐

  1. 05【JS 高级】-【PC端网页特效】元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例

    04[JS 高级]-[PC端网页特效] 学习内容: 元素偏移量 offset 系列, 元素可视区 client 系列, 元素滚动 scroll 系列, 动画函数封装, 常见网页特效案例 1. 元素偏移 ...

  2. 高性能滚动scroll(防抖和节流)

       滚动优化的由来 滚动优化其实也不仅仅指滚动(scroll 事件),还包括了例如 resize 这类会频繁触发的事件. var i = 0;window.addEventListener('scr ...

  3. 高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

  4. 31 元素滚动scroll系列

    技术交流 QQ 群:1027579432,欢迎你的加入! 1.元素 scroll 系列属性 使用 scroll 系列的相关属性可以动态的得到该元素的大小.滚动距离等. 2.页面被卷去的头部 如果浏览器 ...

  5. Elasticsearch的Scroll操作

    Scroll Version:6.1 英文原文地址:Scroll 当一个搜索请求返回单页结果时,可以使用 scroll API 检索体积大量(甚至全部)结果,这和在传统数据库中使用游标的方式非常相似. ...

  6. 元素滚动 scroll 系列

    文章目录 元素 scroll 系列属性 页面被卷去的头部 案例:淘宝固定右侧侧边栏 页面被卷去的头部兼容性解决方案 元素 scroll 系列属性 scroll 翻译过来就是滚动的,我们使用 scrol ...

  7. 35.滚动 scroll

    目录 1  返回自身宽度 element.scrollWidth 2  返回自身高度 element.scrollHeight 3  sroll返回自身尺寸与client返回自身尺寸的区别 4  被卷 ...

  8. 元素滚动 scroll 与 scroll 事件

    scroll 翻译过来就是滚动的意思,我们使用 scroll 的相关属性可以得到元素大小与滚动距离等等 scroll 的相关属性: element.scrollTop:返回滚动后被卷上去的距离,返回值 ...

  9. JavaScript 元素滚动scroll

    scroll翻译过来就是滚动的,我们使用scroll系列的相关属性可以动态的得到该元素的大小.滚动距离等. scroll系列属性 作用 element.scrollTop 返回被卷去的上侧距离,返回数 ...

  10. 关于滑动条滚动 scroll兼容

    Ie浏览器上必须写$(window) <script type="text/javascript"> $(function(){ $(window).scroll(fu ...

最新文章

  1. 的g极串一个电阻_Ohm#39;s Law 简单系列D:从惠斯通(会石头)测电阻开始说
  2. 怎样生成分布式情况下的唯一标示?必须包含网卡字段,以便不同机器生成的唯一标示肯定不一样...
  3. gitlab将分支代码合并到master上
  4. input子系统基础之按键1——什么是input子系统?
  5. 【windows phone】CollectionViewSource的妙用
  6. 如何设置IntelliJ IDEA智能感知支持Jsp内置对象
  7. node mysql sequlize_初步使用Sequelize模块 - Node实战
  8. PDF附加字体和不附加字体
  9. 【Python精彩案例】生成动态二维码
  10. 即使被拖库,也可以保证密码不泄露(一种安全的加密方案)
  11. el-progress入门学习
  12. 利用Excel宏中文转拼音方法
  13. Android 三种拨号方式(kotlin)
  14. maven 出现:Failed to execute goal on project...Could not resolve dependencies for project
  15. Excel-快速填充
  16. 数据库复习 BCNF分解算法
  17. react-native的Dimensions.get(‘screen‘)和Dimensions.get(‘window‘)有什么不同
  18. EBS开发_收款核销API
  19. 百度地图绘制实时路线以及最短线路规划
  20. (read/write、select、getsockopt、signal)实时判断socket连接状态/是否断开

热门文章

  1. 从“人、货、场”搭建数据指标体系,助力电商增长
  2. html5游戏开发上升空间,风口上的HTML5,有前途,更有“钱”途!
  3. [emerg]: unknown directive “”
  4. jekyll 配置环境变量——zsh
  5. Vodafone 移动终端声质量评价
  6. Python学习打卡【Task3】异常处理
  7. Tkinter定时刷新页面或数据
  8. Android手机拍照功能实现
  9. 8种绝对成交的销售话术技巧
  10. STM32单片机初学心得