当前位置: 首页 > news >正文

免费下载软件的网站有哪些网络推广一个月的收入

免费下载软件的网站有哪些,网络推广一个月的收入,滨州市网站建设,学做网站在什么地方学LVGL学习(一)——基础-CSDN博客 记录学习LVGL的过程,可能有疏漏,随着学习的深入,慢慢补充。如有侵权,联系删除。 一、Widget LVGL用户界面的基本构建块。lv_obj_t。 1.1 属性 位置、尺寸、父级、样式、发…

LVGL学习(一)——基础-CSDN博客

记录学习LVGL的过程,可能有疏漏,随着学习的深入,慢慢补充。如有侵权,联系删除

一、Widget

LVGL用户界面的基本构建块。lv_obj_t。

1.1 属性

位置、尺寸、父级、样式、发出的事件、标志、特殊属性等

1.2 工作机制

1.2.1 父子结构

父级widget是子级widget的容器,父级可以拥有任意数量的子widget。

1.2.2 共同移动

子级widget会随着父级的位置变化,相对父级位置不变。

1.2.3 仅在父级上可见

如果子级部分或完全位于其父级之外,则外部的部分将不会被显示。

可以通过lv_obj_add_flag(widget,LV_OBJ_FLAG_OVERFLOW_VISIBLE)来允许子级在父级之外绘制。

1.2.4 创建和删除widgets

LVGL中,widgets可以在运行时动态创建和删除,只有当前存在的widgets会消耗RAM。

lv_obj_t * lv_<widget>_create(lv_obj_t * parent, <other parameters if any>);
void lv_obj_delete(lv_obj_t * widget);lv_obj_delete_async(widget);//lv_timer_handler()执行删除操作。
lv_obj_clean(widget); //移除 Widget 的所有子级
lv_obj_delete_delayed(widget, 1000); 在一段时间后删除 Widget,毫秒
lv_obj_null_on_delete(&widget);//Widget 被删除时将其指针设置为 NULL

二、Screens

2.1 属性

创建时不带父级。

  • 在创建 Screen 时自动附加到 default_display;
  • 自动占用关联显示的整个区域;
  • 不能被移动。
  Display|--- (一个或多个)/|\
Screen Widgets  (Widget 树的根)|O  (零个或多个)/|\
Child Widgets

2.2 创建Screens

lv_obj_t * scr1 = lv_obj_create(NULL);
lv_obj_delete(scr);//不要删除活跃的Screen

2.3 活跃Screen

任何时间只有一个Screen是活跃的。

当每个Display对象被创建时,会与之一起创建一个默认屏幕,并设置为其“Active Screen”。

lv_screen_active()//获取指向“Active Screen”的指针
lv_screen_load() 或 lv_screen_load_anim()//将一个 Screen 设置为“Active Screen”

2.4 加载Screen

lv_screen_load(scr1);//要加载新屏幕lv_screen_load_anim(scr, transition_type, time, delay, auto_del); //带动画加载新的屏幕
//auto_del设置为true,动画结束后自动删除旧屏幕。
存在以下过渡类型:
//LV_SCR_LOAD_ANIM_NONE:在 delay 毫秒后立即切换
//LV_SCR_LOAD_ANIM_OVER_LEFT,LV_SCR_LOAD_ANIM_OVER_RIGHT,LV_SCR_LOAD_ANIM_OVER_TOP 和 LV_SCR_LOAD_ANIM_OVER_BOTTOM:将新屏幕沿给定方向移动到当前屏幕上
//LV_SCR_LOAD_ANIM_OUT_LEFT,LV_SCR_LOAD_ANIM_OUT_RIGHT,LV_SCR_LOAD_ANIM_OUT_TOP 和 LV_SCR_LOAD_ANIM_OUT_BOTTOM:将旧屏幕沿给定方向移出当前屏幕
//LV_SCR_LOAD_ANIM_MOVE_LEFT,LV_SCR_LOAD_ANIM_MOVE_RIGHT,LV_SCR_LOAD_ANIM_MOVE_TOP 和 LV_SCR_LOAD_ANIM_MOVE_BOTTOM:将当前和新屏幕都沿给定方向移动
//LV_SCR_LOAD_ANIM_FADE_IN 和 LV_SCR_LOAD_ANIM_FADE_OUT:新屏幕覆盖旧屏幕或反之渐显

2.5 图层

当创建一个lv_display_t对象时,会创建4个 Screens(层)并附着到它上面。

  1. Bottom Layer

  2. Active Screen

  3. Top Layer

  4. System Layer

1、3、4独立于活跃的Screen

2.6 透明Screen

三、Parts

LV_PART_MAIN:类似背景的矩形
LV_PART_SCROLLBAR:滚动条
LV_PART_INDICATOR:指示器,例如用于滑块、进度条、开关或复选框的勾选框
LV_PART_KNOB:如同一个可以抓取来调整值的手柄
LV_PART_SELECTED:指示当前选定的选项或部分
LV_PART_ITEMS:如果 Widget 包含多个相似元素时使用(例如表格单元格)
LV_PART_CURSOR:标记特定位置,例如文本区域或图表的光标
LV_PART_CUSTOM_FIRST:可以从这里添加自定义部分。

四、States

lv_obj_add_state(widget, LV_STATE_...);
lv_obj_remove_state(widget, LV_STATE_...);LV_STATE_DEFAULT:正常、释放状态
LV_STATE_CHECKED:切换或选中状态
LV_STATE_FOCUSED:通过键盘或编码器聚焦,或者通过触摸板/鼠标点击聚焦
LV_STATE_FOCUS_KEY:仅通过键盘或编码器聚焦,而不是通过触摸板/鼠标
LV_STATE_EDITED:通过编码器编辑
LV_STATE_HOVERED:通过鼠标悬停(目前不支持)
LV_STATE_PRESSED:被按下
LV_STATE_SCROLLED:正在滚动
LV_STATE_DISABLED:禁用状态
LV_STATE_USER_1:自定义状态
LV_STATE_USER_2:自定义状态
LV_STATE_USER_3:自定义状态
LV_STATE_USER_4:自定义状态

五、Flags

lv_obj_add_flag(widget, LV_OBJ_FLAG_...); //启用
lv_obj_remove_flag(widget, LV_OBJ_FLAG_...); //禁用LV_OBJ_FLAG_HIDDEN 使 Widget 隐藏。(就像它完全不存在一样)
LV_OBJ_FLAG_CLICKABLE 使 Widget 可以通过输入设备点击
LV_OBJ_FLAG_CLICK_FOCUSABLE 点击时为 Widget 添加聚焦状态
LV_OBJ_FLAG_CHECKABLE 当 Widget 被点击时切换选中状态
LV_OBJ_FLAG_SCROLLABLE 使 Widget 可滚动
LV_OBJ_FLAG_SCROLL_ELASTIC 允许内部滚动但速度较慢
LV_OBJ_FLAG_SCROLL_MOMENTUM 当“抛出”Widget 时使其滚动更远
LV_OBJ_FLAG_SCROLL_ONE 仅允许滚动一个可停靠的子元素
LV_OBJ_FLAG_SCROLL_CHAIN_HOR 允许将水平滚动传播给父级
LV_OBJ_FLAG_SCROLL_CHAIN_VER 允许将垂直滚动传播给父级
LV_OBJ_FLAG_SCROLL_CHAIN 简单包装 (LV_OBJ_FLAG_SCROLL_CHAIN_HOR | LV_OBJ_FLAG_SCROLL_CHAIN_VER)
LV_OBJ_FLAG_SCROLL_ON_FOCUS 聚焦时自动滚动 Widget 以使其可见
LV_OBJ_FLAG_SCROLL_WITH_ARROW 允许使用箭头键滚动聚焦的 Widget
LV_OBJ_FLAG_SNAPPABLE 如果父级启用了滚动停靠,则可以停靠到此 Widget
LV_OBJ_FLAG_PRESS_LOCK 即使按压滑出 Widget 也保持按压状态
LV_OBJ_FLAG_EVENT_BUBBLE 向父级传播事件
LV_OBJ_FLAG_GESTURE_BUBBLE 向父级传播手势
LV_OBJ_FLAG_ADV_HITTEST 允许执行更准确的点击测试。例如,考虑圆角
LV_OBJ_FLAG_IGNORE_LAYOUT 使 Widget 不受布局定位影响
LV_OBJ_FLAG_FLOATING 当父级滚动时不滚动该 Widget,并忽略布局
LV_OBJ_FLAG_SEND_DRAW_TASK_EVENTS 启用发送 LV_EVENT_DRAW_TASK_ADDED 事件
LV_OBJ_FLAG_OVERFLOW_VISIBLE 不裁剪子元素的内容至父级边界
LV_OBJ_FLAG_FLEX_IN_NEW_TRACK 在此项目上开始一个新的 flex 轨道
LV_OBJ_FLAG_LAYOUT_1 自定义标志,由布局自由使用
LV_OBJ_FLAG_LAYOUT_2 自定义标志,由布局自由使用
LV_OBJ_FLAG_WIDGET_1 自定义标志,由 widget 自由使用
LV_OBJ_FLAG_WIDGET_2 自定义标志,由 widget 自由使用
LV_OBJ_FLAG_USER_1 自定义标志,由用户自由使用
LV_OBJ_FLAG_USER_2 自定义标志,由用户自由使用
LV_OBJ_FLAG_USER_3 自定义标志,由用户自由使用
LV_OBJ_FLAG_USER_4 自定义标志,由用户自由使用

六、Events

Events from Input Devices:LV_EVENT_PRESSED Widget 已被按下。
LV_EVENT_PRESSING Widget 正在被按下(在按压期间持续发送)。
LV_EVENT_PRESS_LOST Widget 仍然被按下,但滑动的光标/手指离开了 Widget。
LV_EVENT_SHORT_CLICKED Widget 被短时间按下,然后释放。如果滚动则不发送。
LV_EVENT_SINGLE_CLICKED 在小距离和短时间内第一次短点击时发送。
LV_EVENT_DOUBLE_CLICKED 在小距离和短时间内第二次短点击时发送。
LV_EVENT_TRIPLE_CLICKED 在小距离和短时间内第三次短点击时发送。
LV_EVENT_LONG_PRESSED 对象已被按下至少 long_press_time。如果滚动则不发送。
LV_EVENT_LONG_PRESSED_REPEAT 在 long_press_time 后每 long_press_repeat_time 毫秒发送一次。如果滚动则不发送。
LV_EVENT_CLICKED 如果没有滚动(不论长按与否),在释放时发送。
LV_EVENT_RELEASED 在 Widget 被释放的所有情况下发送。
LV_EVENT_SCROLL_BEGIN 滚动开始。事件参数是指向滚动动画的指针。可以修改。
LV_EVENT_SCROLL_THROW_BEGIN 当滚动开始时接收。
LV_EVENT_SCROLL_END 滚动结束。
LV_EVENT_SCROLL 滚动中
LV_EVENT_GESTURE 检测到手势。通过 lv_indev_get_gesture_dir(lv_indev_active()); 获取手势。
LV_EVENT_KEY 键被发送到 Widget。通过 lv_indev_get_key(lv_indev_active()); 获取键。
LV_EVENT_FOCUSED Widget 收到焦点,
LV_EVENT_DEFOCUSED Widget 失去了焦点。
LV_EVENT_LEAVE Widget 失去了焦点但仍然被选中。
LV_EVENT_HIT_TEST 执行高级命中测试。Special Events:
LV_EVENT_VALUE_CHANGED 当启用了 LV_OBJ_FLAG_CHECKABLE 标志并且 Widget 被点击(在切换到/从选中状态过渡时)Drawing Events:
LV_EVENT_DRAW_MAIN 执行主部分的绘制
LV_EVENT_DRAW_MAIN_BEGIN 开始绘制主部分
LV_EVENT_DRAW_MAIN_END 完成绘制主部分
LV_EVENT_DRAW_POST 执行后绘制阶段(当所有子元素都被绘制后)
LV_EVENT_DRAW_POST_BEGIN 开始后绘制阶段(当所有子元素都被绘制后)
LV_EVENT_DRAW_POST_END 完成后绘制阶段(当所有子元素都被绘制后)Other Events:
LV_EVENT_DELETE 对象正在被删除
LV_EVENT_CHILD_CHANGED 子元素被移除、添加,或者其大小、位置发生了变化
LV_EVENT_CHILD_CREATED 子元素被创建,总是会冒泡到所有父级
LV_EVENT_CHILD_DELETED 子元素被删除,总是会冒泡到所有父级
LV_EVENT_SIZE_CHANGED 对象坐标/大小已更改
LV_EVENT_STYLE_CHANGED 对象的样式已更改
LV_EVENT_LAYOUT_CHANGED 由于布局重新计算(当容器具有 flex 或 grid 布局样式时),子元素的位置发生了变化
LV_EVENT_GET_SELF_SIZE 获取 widget 的内部尺寸

七、Keys

LV_OBJ_FLAG_CHECKABLE

LV_KEY_RIGHT,LV_KEY_UP,LV_KEY_LEFT,LV_KEY_DOWN

LV_OBJ_FLAG_SCROLLABLLE

八、Snapshot

http://www.cadmedia.cn/news/12756.html

相关文章:

  • 自己做个网站需要什么seo短视频保密路线
  • 设计公司组织架构seo怎么读
  • 泰州网站建设价格seo博客
  • 浙江省住建和城乡建设厅官方网站近期的新闻热点
  • 做房地产需要做网站吗武汉网站推广
  • 做文交所的都有哪些网站google下载安卓版下载
  • 2014网站建设公司搭建网站
  • 网站推广渠道怎么做怎么做网站
  • 沧浪网站建设方案全国人大常委会委员长
  • 广州市建设企业网站报价旺道seo推广有用吗
  • 郉台网站建设湖南搜索引擎推广平台
  • wordpress手机版中文seo投放营销
  • 中国十大门窗品牌长沙seo网站优化
  • 网页设计及网站建设的相关概念网站有吗免费的
  • 在征婚网站上认识做期货免费的网站平台
  • 网站建设明薇通网络售后好哈尔滨优化网站公司
  • 上海企业免费建站合肥网站建设程序
  • 济南莱芜最新消息东莞网站关键词优化排名
  • 工商营业执照注册网站友情链接论坛
  • 建设网站需要注意什么问题网络营销的方法有哪些
  • 可以看那种东西的手机浏览器南昌网站优化公司
  • 网站建设好了怎么发布南宁百度推广代理商
  • 小程序开发北京华网天下首选南京seo建站
  • 建设银行的网站查询密码宁波网站推广方式
  • 南昌网站建设制作重庆网站优化公司
  • 公司怎样做网站网络营销网站推广方案
  • 做网站选什么专业百度收录查询网址
  • 手机网站建设批发电商代运营收费标准
  • 网络编程技术作业答案上海专业的seo推广咨询电话
  • 苏州市建设人才网官方网站seo实战密码