• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-1,8041,644

hvigor/06-May-2025-88

screenshots/Devices/06-May-2025-32

.gitignoreD06-May-2025119 1111

README_zh.mdD06-May-20255.2 KiB9361

build-profile.json5D06-May-20251.1 KiB4342

hvigorfile.tsD06-May-2025159 21

hvigorwD06-May-20252.1 KiB6455

hvigorw.batD06-May-20252.1 KiB7859

oh-package.json5D06-May-2025233 1312

ohosTest.mdD06-May-2025989 109

README_zh.md

1## 一多音乐典型场景
2
3### 介绍
4
5本示例展示了音乐"推荐"与"我的歌单" 两个Tab页签内容。
6
7* 推荐:采用[栅格](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-gridrow.md)组件、[List](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-list.md)组件、[Grid](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-grid.md)组件根据窗口断点进行自适应布局。
8* 我的歌单:通过使用[Grid](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-grid.md)组件实现网格布局与列表布局相互切换。
9
10本示例使用[一次开发多端部署](https://gitee.com/openharmony/docs/tree/master/zh-cn/application-dev/key-features/multi-device-app-dev)中介绍的自适应布局能力和响应式布局能力进行多设备(或多窗口尺寸)适配,主要通过组件提供窗口断点事件,保证应用在不同设备或不同窗口尺寸下可以正常显示。
11
12### 预览效果
13
14本示例在预览器中的效果:
15
16* 推荐页
17
18| sm设备                              | md设备                              | lg设备                              |
19| ----------------------------------- | ----------------------------------- | ----------------------------------- |
20| ![](screenshots/Devices/image1.png) | ![](screenshots/Devices/image2.png) | ![](screenshots/Devices/image3.png) |
21
22* 我的歌单
23
24| sm设备                              | md设备                              | lg设备                              |
25| ----------------------------------- | ----------------------------------- | ----------------------------------- |
26| ![](screenshots/Devices/image6.png) | ![](screenshots/Devices/image5.png) | ![](screenshots/Devices/image7.png) |
27
28使用说明:
29
301. 打开首页,在IDE编辑器中打开预览器查看预览效果。
312. 在预览器中开启窗口拖拽模式,拖动窗口变化,可以查看组件的响应式变化,如下图所示:
32![](screenshots/Devices/image11.png)
333. 手动自由拖拽窗口,将应用窗口在sm/md/lg三种设备形态下进行切换并查看预览效果。
34
35### 工程目录
36
37```
38MultiMusic/entry/src/main/ets/
39|---model
40|   |---DataSummary.ets                    // 数据集合
41|   |---DataType.ets                       // 数据类型
42|---pages
43|   |---Index.ets                          // 首页
44|---common
45|   |---BreakpointSystem.ets               // 媒体查询
46|   |---RecommendPage.ets                  // 推荐页
47|   |---TitleBar.ets                 	   // 标题栏
48|   |---UserSongList.ets                   // 歌单列表
49```
50
51### 具体实现
52
53**标题栏**
54
55不同容器尺寸下,元素位置不固定,采用[GridRow](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-gridrow.md)组件进行栅格布局,在sm/md断点下,标题栏所有元素占两行,在lg断点下,所有元素只占一行。
56
57**轮播图**
58
59使用[Swiper](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-swiper.md)组件,通过动态设置[displaycount](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-swiper.md#displaycount8)属性,显示图片数量根据[窗口断点](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-gridrow.md#gridrowdirection%E6%9E%9A%E4%B8%BE%E8%AF%B4%E6%98%8E)进行自适应变化,在sm断点下显示一张图片,在md断点下显示两张图片,lg断点下通过if关键字切换成[Row](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-row.md)容器进行布局。
60
61**音乐分类**
62
63使用List组件的自带延伸布局能力,元素随容器组件尺寸变化显示或隐藏。
64
65**歌单列表/我的歌单**
66
67使用[Grid](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-grid.md)组件进行响应式布局,元素数量根据[窗口断点](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-container-gridrow.md#gridrowdirection%E6%9E%9A%E4%B8%BE%E8%AF%B4%E6%98%8E)进行自适应变化。
68
69### 相关权限
70
71不涉及。
72
73### 依赖
74
75不涉及
76
77### 约束与限制
78
791. 本示例仅支持在标准系统上运行。
802. 本示例已适配API version 10版本的SDK(4.0.10.10),镜像版本号:OpenHarmony 4.0.10.10。
813. 本示例需要使用DevEco Studio 4.0 Beta2 (构建版本:4.0.0.400,构建 2023年8月2日)及以上版本才可编译运行。
82
83### 下载
84
85如需单独下载本工程,执行如下命令:
86
87```
88git init
89git config core.sparsecheckout true
90echo code/SuperFeature/MultiDeviceAppDev/MultiMusic/ > .git/info/sparse-checkout
91git remote add origin https://gitee.com/openharmony/applications_app_samples.git
92git pull origin master
93```