不规则网格布局容器
介绍
ArkUI开发框架在NDK接口提供了自定义UI组件的能力,开发者通过注册相关自定义回调事件接入ArkUI开发框架的布局渲染流程。本示例展示了如何创建不规则网格布局容器。示例创建了一个不规则网格布局容器,支持不同大小的网格单元,实现类似瀑布流的布局效果。
本示例为构建自定义组件-实现不规则网格状自定义布局策略的配套示例工程。
效果预览
| 预览 |
|---|
![]() |
使用说明
- 安装编译生成的hap包,并打开应用。
- 进入首页,可以看到不规则网格布局效果。
- 网格项具有不同的大小(1x1、1x2、2x1、2x2等)。
- 网格项自动寻找最矮列放置,形成瀑布流效果。
- 每个网格项具有不同的颜色、圆角和边框。
工程目录
entry/src/main/ets/
└── pages
└── Index.ets (获取导航页面)
entry/src/main/cpp/
├── types
│ └── libentry
│ └── Index.d.ts (函数对应的js映射)
├── ArkUIBaseNode.h
├── ArkUICustomContainerNode.h
├── ArkUIIrregularGridNode.h
├── ArkUICustomNode.h
├── ArkUINode.h
├── ArkUITextNode.h
├── CMakeLists.txt
├── napi_init.cpp
├── NativeEntry.cpp
├── NativeEntry.h
├── NativeModule.h
└── UITimer.h
具体实现
- 按照自定义布局容器章节准备前置工程。
- 创建自定义绘制组件封装对象。
- 使用自定义绘制组件和自定义容器创建示例界面。
- 修改CMakeList.txt,添加链接库。
相关权限
不涉及
依赖
不涉及
约束和限制
-
本示例支持标准系统上运行,支持设备:RK3568。
-
本示例支持API22版本SDK,版本号:6.0.2.54。
-
本示例已支持使用DevEco Studio 5.1.1 Release(构建版本:5.1.1.840,构建日期:2025年10月18日)编译运行。
下载
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/DocsSample/ArkUISample/NativeType/CustomDrawSample > .git/info/sparse-checkout
git remote add origin https://gitcode.com/openharmony/applications_app_samples.git
git pull origin master
