• Home
Name Date Size #Lines LOC

..--

AppScope/22-Oct-2025-4643

entry/22-Oct-2025-3,4793,319

hvigor/22-Oct-2025-5048

.gitignoreD22-Oct-2025133 1212

README.mdD22-Oct-20253.9 KiB10181

build-profile.json5D22-Oct-20252 KiB6867

code-linter.json5D22-Oct-20252.2 KiB5857

hvigorfile.tsD22-Oct-20251.5 KiB335

oh-package.json5D22-Oct-20251.5 KiB3533

ohosTest.mdD22-Oct-20251.9 KiB119

README.md

1# 主页Tabs嵌套场景
2
3### 介绍
4
51. 主页嵌套场景,使用tabContent嵌套;
62. 实现预加载;
73. 主页使用自定义tabbar;
84. 主页数据加载使用网络数据,轮播图片和列表信息;
9
10### 效果预览
11
12效果如下所示:
13
14|主界面|主页瀑布流实现案例|折叠面板案例|自定义TabBar页签案例|TabContent内容可以在TabBar上显示并响应滑动事件案例|
15|--------------------------------|--------------------------------|--------------------------------|--------------------------------|--------------------------------|
16|![Alt text](entry/src/main/resources/base/media/main.png)|![Alt text](entry/src/main/resources/base/media/example1.png)|![Alt text](entry/src/main/resources/base/media/example2.png)|![Alt text](entry/src/main/resources/base/media/example3.png)|![Alt text](entry/src/main/resources/base/media/example4.png)|
17
18使用说明
19
201. 在主界面,点击蓝色按钮"主页瀑布流实现案例"。
21    * 加载完成后显示整个列表,超过一屏时可以上下滑动。
222.  在主界面,点击蓝色按钮"折叠面板案例"。
23    * 进入性能文章标签页面。
24    * 点击多层级列表,展开子列表。
253.  在主界面,点击蓝色按钮"自定义TabBar页签案例"。
26    * 依次点击TabBar页面,除了视频图标外,其余图标往上移动一小段距离。
274.  在主界面,点击蓝色按钮"TabContent内容可以在TabBar上显示并响应滑动事件案例"。
28    * 点击播放按钮进行视频播放,按住进度条按钮和进度条下方区域可以拖动进度条,更改视频播放进度。
29
30### 工程目录
31
32```
33entry/src/main/ets/
34|---constants
35|   |---constants.ets
36|---model
37|   |---collapsemenu
38|   |   |---ArticleNode.ets
39|   |   |---BasicDataSource.ets
40|   |   |---MockData.ets
41|   |   |---MockXrData.ets
42|   |   |---TreeNode.ets
43|   |---functionalScenes
44|   |   |---SceneModuleDatas.ets
45|   |   |---SceneModuleInfo.ets
46|   |   |---TabsData.ets
47|   |   |---WaterFlowDataSource.ets
48|   |---constantsData.ets
49|---pages
50|   |---collapsemenu
51|   |   |---CollapseMenuSection.ets
52|   |   |---Concent.ets
53|   |---functionalScenes
54|   |   |---FunctionalScenes.ets
55|   |---tabBar
56|   |   |---TabBar.ets
57|   |---tabContentOverFlow
58|   |   |---TabContentOverFlow.ets
59|   |---Index.ets
60```
61
62### 具体实现
63
64* Example1(主页瀑布流案例),源码参考:[Example1](entry/src/main/ets/pages/functionalScenes/FunctionalScenes.ets)
65  * 构造懒加载数据源类型。
66  * 通过LazyForEach循环构造列表数据。
67* Example2(折叠面板案例),源码参考:[Example2](entry/src/main/ets/pages/collapsemenu/CollapseMenuSection.ets)
68  * 构造懒加载数据源类型。
69  * 使用LazyForEach构造列表数据。
70  * 通过点击事件更改expand的值,调用updateData方法通知监听器重新渲染页面,从而实现展开与折叠效果。
71* Example3(自定义TabBar页签案例),源码参考:[Example3](entry/src/main/ets/pages/tabBar/TabBar.ets)
72  * 创建自定义组件做为TabBar的内容区。
73* Example4(TabContent内容可以在TabBar上显示并响应滑动事件案例),源码参考:[Example4](entry/src/main/ets/pages/tabContentOverFlow/TabContentOverFlow.ets)
74  * TabContent加载Video组件。
75  * 使用自定义进度条并添加PanGesture手势,实现在自定义TabBar上拖动进度条更改视频播放进度的功能。
76
77### 相关权限
78
7980
81### 依赖
82
8384
85### 约束与限制
86
871. 本示例仅支持标准系统上运行,支持设备:Phone;
882. 本示例为Stage模型,支持API20版本SDK,SDK版本号(API Version 20),镜像版本号(6.0.0.31)。
893. 本示例需要使用DevEco Studio 版本号(6.0.0.6)版本才可编译运行。
90
91### 下载
92
93如需单独下载本工程,执行如下命令:
94
95```
96git init
97git config core.sparsecheckout true
98echo code/ArkTS1.2/TabsSample/ > .git/info/sparse-checkout
99git remote add origin https://gitee.com/openharmony/applications_app_samples.git
100git pull
101```