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

12306网站开发商东莞找工作在什么平台找合适

12306网站开发商,东莞找工作在什么平台找合适,视频链接生成器在线,郑州网站制作选择乐云seo介绍 本示例展示手机阅读时左右翻页#xff0c;上下翻页#xff0c;覆盖翻页的功能。 效果图预览 使用说明 进入模块即是左右翻页模式。点击屏幕中间区域弹出上下菜单。点击设置按钮#xff0c;弹出翻页方式切换按钮#xff0c;点击可切换翻页方式。左右翻页方式可点击翻…介绍 本示例展示手机阅读时左右翻页上下翻页覆盖翻页的功能。 效果图预览 使用说明 进入模块即是左右翻页模式。点击屏幕中间区域弹出上下菜单。点击设置按钮弹出翻页方式切换按钮点击可切换翻页方式。左右翻页方式可点击翻页也可滑动翻页点击屏幕左边1/3区域向左翻页点击中间1/3区域弹出菜单点击屏幕右边1/3区域向右翻页。上下翻页方式只可上下滑动翻页。覆盖翻页方式可点击翻页也可滑动翻页点击屏幕左边1/3区域向左翻页点击中间1/3区域弹出菜单点击屏幕右边1/3区域向右翻页。 实现思路 本例涉及的关键特性和实现方案如下 场景一: 左右翻页方式通过swiperlazyforeachcachecount实现按需加载。 实现步骤 在aboutToAppear()方法中通过pushItem向后加载数据addItem向前加载数据。使用Swiper组件和LazyForEach将数据源中的每条数据存放于Text组件中Swiper向左或向右滑动的效果就是左右翻页的效果。需要网络加载时可在BasicDataSource的getData方法中进行。当index等于0向前申请网络数据当index等于this.totalCount() - 1时向后请求网络数据。请求完数据后可通过push方法将数据插入到队尾通过unshift插入到队头具体可参考BasicDataSource的pushItem和addItem方法。 Swiper(this.swiperController) { /*** TODO: 高性能知识点: 使用了cachedCount设置预加载的Text的数量只在LazyForEach中生效设置该属性后会缓存cachedCount个TextLazyForEach超出显示和缓存范围的Text会被释放。* 使用cachedCount参数的例子:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/ui-ts-performance-improvement-recommendation-0000001477981001-V2*/LazyForEach(this.data, (item: string) {Text($r(item))...}, (item: string) item)}// TODO:知识点:index设置当前在容器中显示的子组件的索引值。设置小于0或大于等于子组件数量时按照默认值0处理。.index(this.currentPageNum - CONFIGURATION.PAGEFLIPPAGECOUNT).width($r(app.string.pageflip_full_size)).height($r(app.string.pageflip_full_size)).indicator(false).cachedCount(CONFIGURATION.PAGEFLIPCACHECOUNT)...aboutToAppear(): void {/*** 请求网络数据之后可以通过this.data.addItem(new Item(app.string.content i.toString()));的方法插入到数据源的开头形成新的数据源。* 请求网络数据之后可以通过this.data.pushItem(new Item(app.string.content i.toString()));的方法插入到数据源的末尾形成新的数据源。*/for (let i CONFIGURATION.PAGEFLIPPAGESTART; i CONFIGURATION.PAGEFLIPPAGEEND; i) {this.data.pushItem(STRINGCONFIGURATION.PAGEFLIPRESOURCE i.toString());} }public getData(index: number): string {/*** TODO:知识点:1.当index等于this.totalCount() - 1时向后请求网络数据。当index等于0时向前请求网络数据。* TODO:知识点:2.新请求到的数据可以通过push插入到队尾通知listeners刷新添加可参考pushItem方法。如果想要插到队头可以通过unshift插入到队头通知listeners刷新添加可参考addItem方法。*/return this.elements[index]; }场景二: 上下翻页方式通过listlazyforeachcachecount实现按需加载。 实现步骤 在aboutToAppear()方法中通过pushItem向后加载数据addItem向前加载数据。使用List组件和LazyForEach将数据源中的每条数据存放于Text组件中List向上或向下滑动的效果就是上下翻页的效果。需要网络加载时可在BasicDataSource的getData方法中进行。当index等于0向前申请网络数据当index等于this.totalCount() - 1时向后请求网络数据。请求完数据后可通过push方法将数据插入到队尾通过unshift插入到队头具体可参考BasicDataSource的pushItem和addItem方法。 // TODO:知识点:initialIndex设置为负数或超过了当前List最后一个item的索引值时视为无效取值无效取值按默认值0显示。 List({ initialIndex: this.currentPageNum - CONFIGURATION.PAGEFLIPPAGECOUNT }) {/*** TODO: 高性能知识点: 使用了cachedCount设置预加载的ListItem的数量只在LazyForEach中生效设置该属性后会缓存cachedCount个ListItemLazyForEach超出显示和缓存范围的ListItem会被释放。* 使用cachedCount参数的例子:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/ui-ts-performance-improvement-recommendation-0000001477981001-V2*/LazyForEach(this.data, (item: string) {ListItem() {Text($r(item))...}}, (item: string) item) } .width($r(app.string.pageflip_bottomview_row_text_width)) .height($r(app.string.pageflip_full_size)) .scrollBar(BarState.Off) .cachedCount(CONFIGURATION.PAGEFLIPCACHECOUNT) .onScrollIndex((firstIndex: number) {this.currentPageNum firstIndex CONFIGURATION.PAGEFLIPPAGECOUNT; // 通过onScrollIndex监听当前处于第几页。 })aboutToAppear(): void {/*** 请求网络数据之后可以通过this.data.addItem(new Item(app.string.content i.toString()));的方法插入到数据源的开头形成新的数据源。* 请求网络数据之后可以通过this.data.pushItem(new Item(app.string.content i.toString()));的方法插入到数据源的末尾形成新的数据源。*/for (let i CONFIGURATION.PAGEFLIPPAGESTART; i CONFIGURATION.PAGEFLIPPAGEEND; i) {this.data.pushItem(STRINGCONFIGURATION.PAGEFLIPRESOURCE i.toString());} }public getData(index: number): string {/*** TODO:知识点:1.当index等于this.totalCount() - 1时向后请求网络数据。当index等于0时向前请求网络数据。* TODO:知识点:2.新请求到的数据可以通过push插入到队尾通知listeners刷新添加可参考pushItem方法。如果想要插到队头可以通过unshift插入到队头通知listeners刷新添加可参考addItem方法。*/return this.elements[index]; }场景三: 覆盖翻页方式通过三个Stack组件通过滑动动画改变组件内容实现效果。 实现步骤 在Stack组件中布局三个ReaderPagemidPage位于中间可以根据this.offsetX实时translate自己的位置。当this.offsetX0时,translate的x为this.offsetXmidPage向左移动显现rightPage。当this.offsetX0,translate的x为0midPage不动leftPage向右滑动。将滑动翻页的动画和点击翻页的动画封装在一个闭包中由isClick来判断是点击翻页还是滑动翻页由isLeft来判断点击翻页中是向左翻页还是向右翻页。确定翻页时将this.offsetX设置为this.screenW或者-this.screenW。translate移动加上动画效果就会产生覆盖翻页的效果。最终滑动动画结束时this.offsetX都会被置为0leftPage和midPage回归原位。当动画结束时由于翻页会让this.currentPageNum加一或减一根据相应的页数来加载三个content相应的内容。 Stack() {ReaderPage({ content: this.rightPageContent }); // 当midPage向左滑时rightPage开始显现。ReaderPage({ content: this.midPageContent })/** TODO: 知识点* 当this.offsetX0时,translate的x为this.offsetXmidPage向左移动显现rightPage。* 当this.offsetX0,translate的x为CONFIGURATION.PAGEFLIPZEROmidPage不动leftPage向右滑动。*/.translate({x: this.offsetX CONFIGURATION.PAGEFLIPZERO ? CONFIGURATION.PAGEFLIPZERO : this.offsetX,y: CONFIGURATION.PAGEFLIPZERO,z: CONFIGURATION.PAGEFLIPZERO}).width(this.screenW);ReaderPage({ content: this.leftPageContent }) // TODO: 知识点在midPage的左边当向右滑时跟随this.offsetX向右滑动。.translate({x: -this.screenW this.offsetX}); }private clickAnimateTo(isClick: boolean, isLeft?: boolean) {animateTo({duration: CONFIGURATION.PAGEFLIPTOASTDURATION,curve: Curve.EaseOut,onFinish: () {/** TODO: 知识点this.currentPageNum加一或者减一后修改组件的内容。* 右滑1. 恢复页面原始状态 2. 修改组件的内容为 page1 content1-1 page2 content2-1page3 content3-1* 左滑1. 恢复页面原始状态 2. 修改组件的内容为 page1 content11 page2 content21page3 content31*/if (this.offsetX CONFIGURATION.PAGEFLIPRIGHTFLIPOFFSETX this.currentPageNum ! CONFIGURATION.PAGEFLIPPAGESTART) {this.currentPageNum - CONFIGURATION.PAGEFLIPPAGECOUNT;} else if (this.offsetX CONFIGURATION.PAGEFLIPLEFTFLIPOFFSETX this.currentPageNum ! CONFIGURATION.PAGEFLIPPAGEEND) {this.currentPageNum CONFIGURATION.PAGEFLIPPAGECOUNT;}this.offsetX CONFIGURATION.PAGEFLIPZERO;this.simulatePageContent();}}, () {if (isClick) { // 是否为点击翻页if (isLeft) {this.offsetX this.screenW; // TODO: 知识点右滑距离变为一个屏幕宽度ReaderPage就会向右移动一个屏幕宽度加上动画形成了覆盖翻页的效果。} else {this.offsetX -this.screenW; // TODO: 知识点左滑距离变为一个屏幕宽度ReaderPage就会向左移动一个屏幕宽度加上动画形成了覆盖翻页的效果。}} else { // 滑动翻页if (this.offsetX CONFIGURATION.PAGEFLIPRIGHTFLIPOFFSETX this.currentPageNum ! CONFIGURATION.PAGEFLIPPAGESTART) {this.offsetX this.screenW;} else if (this.offsetX CONFIGURATION.PAGEFLIPLEFTFLIPOFFSETX this.currentPageNum ! CONFIGURATION.PAGEFLIPPAGEEND) {this.offsetX -this.screenW;} else {this.offsetX CONFIGURATION.PAGEFLIPZERO; // 当位于第一页和末尾页移动距离设为0无法翻页。}}}); }// 模拟书页内容,可以在此进行网络请求。 simulatePageContent() {this.leftPageContent STRINGCONFIGURATION.PAGEFLIPRESOURCE (this.currentPageNum - CONFIGURATION.PAGEFLIPPAGECOUNT).toString();this.midPageContent STRINGCONFIGURATION.PAGEFLIPRESOURCE (this.currentPageNum).toString();this.rightPageContent STRINGCONFIGURATION.PAGEFLIPRESOURCE (this.currentPageNum CONFIGURATION.PAGEFLIPPAGECOUNT).toString(); }工程结构模块类型 pageflip // har包|---common| |---Constants.ets // 常量 |---components| |---mainpage | |---PageFlip.ets // 主页面|---datasource| |---BasicDataSource.ets // Basic数据控制器|---view| |---BottomView.ets // 底部菜单视图| |---CoverFlipPage.ets // 覆盖翻页视图| |---LeftRightFlipPage.ets // 左右翻页视图| |---TopView.ets // 顶部菜单视图| |---UpDownFlipPage.ets // 上下翻页视图模块依赖 routermodule 高性能知识点 本例使用了onActionUpdate函数。该函数是系统高频回调函数避免在函数中进行冗余或耗时操作例如应该减少或避免在函数打印日志会有较大的性能损耗。 本示例使用了LazyForEach进行数据懒加载List布局时会根据可视区域按需创建ListItem组件并在ListItem滑出可视区域外时销毁以降低内存占用。 本示例使用了cachedCount设置预加载的ListItem的数量只在LazyForEach中生效设置该属性后会缓存cachedCount个ListItemLazyForEach超出显示和缓存范围的ListItem会被释放。 参考资料 LazyForEach数据懒加载 ZIndex List Swiper Link装饰器父子双向同步 鸿蒙全栈开发全新学习指南 也为了积极培养鸿蒙生态人才让大家都能学习到鸿蒙开发最新的技术针对一些在职人员、0基础小白、应届生/计算机专业、鸿蒙爱好者等人群整理了一套纯血版鸿蒙HarmonyOS Next全栈开发技术的学习路线【包含了大厂APP实战项目开发】。 本路线共分为四个阶段 第一阶段鸿蒙初中级开发必备技能 第二阶段鸿蒙南北双向高工技能基础gitee.com/MNxiaona/733GH 第三阶段应用开发中高级就业技术 第四阶段全网首发-工业级南向设备开发就业技术https://gitee.com/MNxiaona/733GH 《鸿蒙 (Harmony OS)开发学习手册》共计892页 如何快速入门 1.基本概念 2.构建第一个ArkTS应用 3.…… 开发基础知识:gitee.com/MNxiaona/733GH 1.应用基础知识 2.配置文件 3.应用数据管理 4.应用安全管理 5.应用隐私保护 6.三方应用调用管控机制 7.资源分类与访问 8.学习ArkTS语言 9.…… 基于ArkTS 开发 1.Ability开发 2.UI开发 3.公共事件与通知 4.窗口管理 5.媒体 6.安全 7.网络与链接 8.电话服务 9.数据管理 10.后台任务(Background Task)管理 11.设备管理 12.设备使用信息统计 13.DFX 14.国际化开发 15.折叠屏系列 16.…… 鸿蒙开发面试真题含参考答案:gitee.com/MNxiaona/733GH 鸿蒙入门教学视频 美团APP实战开发教学gitee.com/MNxiaona/733GH 写在最后 如果你觉得这篇内容对你还蛮有帮助我想邀请你帮我三个小忙点赞转发有你们的 『点赞和评论』才是我创造的动力。关注小编同时可以期待后续文章ing不定期分享原创知识。想要获取更多完整鸿蒙最新学习资源请移步前往小编gitee.com/MNxiaona/733GH
http://www.zqtcl.cn/news/884565/

相关文章:

  • 有的网站在浏览器打不开怎么办最近中国新闻热点大事件
  • 网站模板组件随州网站建设有哪些
  • 网站建设微信版8080端口wordpress
  • 急求聊城网站建设微信网页注册入口
  • 商城网站建站程序网站内链布局
  • 盐城网站建设方案全景旅游网站项目建设
  • 网站备案完电信园林效果图网站
  • 伤豆丁文库网站开发贵州网站备案局
  • 做网站的注意什么北京建设协会网站首页
  • 石家庄网站开发设计网站建设重点步骤
  • 推广思路及执行方案昆明百度seo
  • 太原公司网站建立可视化小程序开发工具
  • 怎么做网站的搜索引擎云主机有什么用
  • 淘宝客新增网站南宁百度seo优化
  • 建设厅网站合同备案在哪里网站备案本人承诺
  • 做方案的网站住房城乡建设部官网
  • 怎样在门户网站做 推广天水市建设银行官方网站
  • 温州建网站哪家强网站建设谈客户说什么
  • 网站的子域名怎么设置整站seo排名外包
  • 免费网站在哪下载苏州建设银行网站
  • 邹平 建设项目 网站公示怎样做网站卖自己的产品教程
  • 手机免费网站建设哪家公司好免费动态域名申请
  • 提升网站排名怎么提交自己的网站
  • cms网站开发phpwordpress有什么功能
  • 专业网站制作解决方案自己在家搭建服务器
  • 中小企业网站提供了什么英文营销网站建设
  • 玉环市建设工程检测中心网站网站建设服务的具体条件
  • 主机网站wampserver搭建网站
  • 建设银行网站点不进去深圳龙华区招聘网最新招聘信息
  • 网站建设公司现在还挣钱吗wordpress棋牌