• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

entry/06-May-2025-1,113980

hvigor/06-May-2025-2422

screenshots/device/06-May-2025-

.gitignoreD06-May-2025110 1010

README_zh.mdD06-May-20252.4 KiB6747

build-profile.json5D06-May-20251 KiB4241

hvigorfile.tsD06-May-2025771 161

hvigorwD06-May-20252.1 KiB6428

hvigorw.batD06-May-20252 KiB7356

oh-package.json5D06-May-2025821 2725

ohosTest.mdD06-May-2025906 119

README_zh.md

1# 横竖屏切换
2
3### 介绍
4
5本实例展示如何使用媒体查询,通过[@ohos.mediaquery](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-mediaquery.md) 接口完成在不同设备上显示不同的界面效果。
6
7### 效果预览
8
9|主页|详情页面|
10|--------------------------------|--------------------------------|
11|![main](screenshots/device/main.png)| ![new](screenshots/device/new.png)|
12
13使用说明
14
151.在竖屏设备上,首页展示新闻列表,点击新闻进入详情界面。
16
172.在横屏设备上,首页左侧展示新闻列表,右侧显示新闻详情,点击新闻右侧显示所点击的新闻的详情。
18
19### 工程目录
20```
21entry/src/main/ets/
22|---component
23|   |---NewView.ets                    // 弹窗组件
24|   |---TitleBar.ets                   // 首页标题组件
25|   |---TitleWithBack.ets              // 详情页面标题组件
26|---entryAbility
27|---model
28|   |---DataModel.ts                   // 数据类型
29|   |---Logger.ts                      // 日志工具
30|   |---New.ts                         // 虚拟数据
31|---pages
32|   |---Index.ets                      // 首页
33|   |---New.ets                        // 详情页面
34```
35### 具体实现
36
37* 横竖屏切换功能接口封装在Index,源码参考:[Index.ets](entry/src/main/ets/pages/Index.ets)
38    * 获取监听句柄:通过mediaQuery.matchMediaSync('screen and (min-aspect-ratio: 1.5) or (orientation: landscape)')方法来获取有一个监听横竖屏的句柄,接口参考:[@ohos.mediaquery](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-mediaquery.md)39    * 执行控制横竖屏切换效果的函数:调用this.listener.on('change', this.onLand.bind(this))函数来实现横竖屏下不同的功能或者页面效果;
40
41### 相关权限
42
43不涉及。
44
45### 依赖
46
47不涉及。
48
49### 约束与限制
50
511.本示例仅支持标准系统上运行。
52
532.本示例已适配API version 9版本SDK,版本号:3.2.11.9。
54
553.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)及以上版本才可编译运行。
56
57### 下载
58
59如需单独下载本工程,执行如下命令:
60```
61git init
62git config core.sparsecheckout true
63echo /code/UI/ArkTsComponentCollection/MediaQuery > .git/info/sparse-checkout
64git remote add origin https://gitee.com/openharmony/applications_app_samples.git
65git pull origin master
66```
67