溪村小镇是一款展示溪流背坡村园区风貌的应用,包括园区内的导航功能,小火车行车状态查看,
以及各区域的风景展览介绍,主要用于展示HarmonyOS的ArkUI能力和动画效果。
1、打开应用时进入启动页,启动页轮播展示溪村小镇风景图,之后进入应用首页。
2、在首页的“地图浏览”标签页,可以拖动和缩放查看地图,并查找相应地标建筑。
3、在首页的“区域导览”标签页,可以上下滑动查看溪村小镇不同区域的卡片,
点击卡片可以进入对应的区域详情页并查看区域的详细介绍和高清建筑风景图。
4、在首页的“小火车”标签页,可以查看溪村小火车的运行路线图。
掌握能力
Tabs组件:通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图。
List组件:列表包含一系列相同宽度的列表项,包含子组件ListItem。
点击手势:支持单击、双击和多次点击事件的识别。
拖动手势:用于触发拖动手势事件,滑动的最小距离为5vp时拖动手势识别成功。
捏合手势:用于触发捏合手势事件,触发捏合手势的最少手指为2指,最大为5指,最小识别距离为3vp。
属性动画:组件的某些通用属性变化时,可以通过属性动画实现渐变过渡效果,提升用户体验。
自定义弹窗:通过CustomDialogController类显示自定义弹窗。使用弹窗组件时,可优先考虑自定义弹窗,便于自定义弹窗的样式与内容。
Canvas画布:用于自定义绘制图形。
基于自适应布局和响应式布局,实现购物应用在手机、折叠屏、平板不同屏幕尺寸设备上按不同设计显示。
通过三层工程结构组织代码,实现一次开发,多端部署。
掌握能力
一次开发,多端部署:一套代码工程,一次开发上架,多端按需部署。支撑开发者快速高效的开发支持多种终端设备形态的应用。
自适应布局:当外部容器大小发生变化时,元素可以根据相对关系自动变化以适应外部容器变化的布局能力。相对关系如占比、固定宽高比、显示优先级等。
GridRow:栅格容器组件,仅可以和栅格子组件(GridCol)在栅格布局场景中使用。
GridCol:栅格子组件,必须作为栅格容器组件(GridRow)的子组件使用。
基于自适应布局和响应式布局,实现一次开发,多端部署音乐专辑。介绍手机、折叠屏、平板等不同屏幕尺寸设备的页面设计和实现方案,
通过合理的工程结构组织代码,以及解决系统能力差异的兼容性问题。
掌握能力
一次开发,多端部署:一套代码工程,一次开发上架,多端按需部署。支撑开发者快速高效的开发支持多种终端设备形态的应用,实现对不同设备兼容的同时,提供跨设备的流转、迁移和协同的分布式体验。
自适应布局:当外部容器大小发生变化时,元素可以根据相对关系自动变化以适应外部容器变化的布局能力。
GridRow:栅格容器组件,仅可以和栅格子组件(GridCol)在栅格布局场景中使用。
GridCol:栅格子组件,必须作为栅格容器组件(GridRow)的子组件使用。
AVPlayer:AVPlayer主要工作是将Audio/Video媒体资源转码为可供渲染的图像和可听见的音频模拟信号,并通过输出设备进行播放,同时对播放任务进行管理,
包括开始播放、暂停播放、停止播放、释放资源、设置音量、跳转播放位置、获取轨道信息等功能控制。
后台任务管理:应用中存在用户能够直观感受到的且需要一直在后台运行的业务时(如后台播放音乐),可以使用长时任务机制。
用户可以创建最多6个健康生活任务(早起,喝水,吃苹果,每日微笑,刷牙,早睡),并设置任务目标、是否开启提醒、提醒时间、每周任务频率。
用户可以在主页面对设置的健康生活任务进行打卡,其中早起、每日微笑、刷牙和早睡只需打卡一次即可完成任务,喝水、吃苹果需要根据任务目标量多次打卡完成。
主页可显示当天的健康生活任务完成进度,当天所有任务都打卡完成后,进度为100%,并且用户的连续打卡天数加一。
当用户连续打卡天数达到3、7、30、50、73、99天时,可以获得相应的成就。成就在获得时会以动画形式弹出,并可以在“成就”页面查看。
用户可以查看以前的健康生活任务完成情况。
用户可通过长按添加2x2或2x4卡片查看任务完成情况,具体ArkTS卡片实现可以参考文档:健康生活卡片(ArkTS)。
掌握能力
AppStorage:应用程序中的单例对象,为应用程序范围内的可变状态属性提供中央存储。
@Observed和@ObjectLink:@Observed适用于类,表示类中的数据变化由UI页面管理;@ObjectLink应用于被@Observed装饰类的对象。
@Provide和@Consume:@Provide作为数据提供者,可以更新子节点的数据,触发页面渲染。@Consume检测到@Provide数据更新后,会发起当前视图的重新渲染。