Update README.md
业界UI框架提供了基础的组件、布局、事件、动效等能力,但都缺乏高级的布局容器(比如下图中的瀑布流组件等),另外,随着设备的种类越来越多,屏幕尺寸多样化,如何做到多设备自适应以及高性能体验一直是应用开发的关键诉求及难点;本课题通过基于ArkUI相关能力设计并实现适合多设备跨平台的高级可自定义布局组件(比如类似瀑布流组件); 本课题包括如下内容: 1、基于自定义布局能力实现适合多设备和跨平台的高级可自定义组件(比如下图中的瀑布流ArkTS组件) 加分项:2、提供ArkUI的GeometryReader测量组件尺寸能力,且基于该能力实现高级自定义组件(比如下图瀑布流组件)
效果类似如下视频和截图参考但可不局限于此,同时该课题进一步做到多设备自适应、跨平台以及高性能:
1)该高级组件能自动适应不同屏幕设备做到行数自适应 2)该高级组件支持item增、删及相应的补位动效 3)该高级组件支持scrollToIndex的快速跳转及动效,不丢帧 4)快速滑动不丢帧,60FPS 5) ArkUI上提供GeometryReader测量组件尺寸能力(加分项) 6)使用GeometryReader实现高级自定义组件(比如类似瀑布流组件)(加分项)
概念注释:1、多设备:手机、平板、PC等 2、跨平台:ArkUI-X
牛立华 — niulihua3@huawei.com
【瀑布流组件C++组件仅供参考】https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-waterflow.md 【ArkUI所有组件介绍】https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts 【SwiftUI GeometryReader】https://developer.apple.com/documentation/swiftui/geometryreader 【高级组件提供参考】https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ohos-arkui-advanced-popup.md 【高性能开发实践】: https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/performance/high-performance-programming.md/ 【一次开发多端部署实践】: http://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/key-features/multi-device-app-dev 【跨平台】: https://gitee.com/arkui-x 推荐硬件 Rk3568开发板
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
一种面向多设备跨平台的高性能自适应布局能力研究和实现
作品完成和提交方式:选择本赛题的参赛队伍需要首先复刻(Fork)本项目,然后在复刻的项目中添加参赛队员、合作完成作品开发即可,无需提交PR到赛题项目。如果作品为文档形式,也请将作品文档提交到项目代码库中。在作品完成过程中,围绕作品的相关讨论等可以以疑修(Issue)形式发布和讨论,也可使用里程碑对整个任务进行规划管理。
1. 赛题说明
业界UI框架提供了基础的组件、布局、事件、动效等能力,但都缺乏高级的布局容器(比如下图中的瀑布流组件等),另外,随着设备的种类越来越多,屏幕尺寸多样化,如何做到多设备自适应以及高性能体验一直是应用开发的关键诉求及难点;本课题通过基于ArkUI相关能力设计并实现适合多设备跨平台的高级可自定义布局组件(比如类似瀑布流组件); 本课题包括如下内容: 1、基于自定义布局能力实现适合多设备和跨平台的高级可自定义组件(比如下图中的瀑布流ArkTS组件) 加分项:2、提供ArkUI的GeometryReader测量组件尺寸能力,且基于该能力实现高级自定义组件(比如下图瀑布流组件)
效果类似如下视频和截图参考但可不局限于此,同时该课题进一步做到多设备自适应、跨平台以及高性能:
2. 赛题要求
1)该高级组件能自动适应不同屏幕设备做到行数自适应 2)该高级组件支持item增、删及相应的补位动效 3)该高级组件支持scrollToIndex的快速跳转及动效,不丢帧 4)快速滑动不丢帧,60FPS 5) ArkUI上提供GeometryReader测量组件尺寸能力(加分项) 6)使用GeometryReader实现高级自定义组件(比如类似瀑布流组件)(加分项)
概念注释:1、多设备:手机、平板、PC等 2、跨平台:ArkUI-X
3. 赛题导师
牛立华 — niulihua3@huawei.com
4. 参考资料
【瀑布流组件C++组件仅供参考】https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-waterflow.md 【ArkUI所有组件介绍】https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts 【SwiftUI GeometryReader】https://developer.apple.com/documentation/swiftui/geometryreader 【高级组件提供参考】https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ohos-arkui-advanced-popup.md 【高性能开发实践】: https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/performance/high-performance-programming.md/ 【一次开发多端部署实践】: http://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/key-features/multi-device-app-dev 【跨平台】: https://gitee.com/arkui-x 推荐硬件 Rk3568开发板