• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3633

entry/06-May-2025-1,3651,199

hvigor/06-May-2025-88

screenshots/device/06-May-2025-

.gitignoreD06-May-2025100 77

README_zh.mdD06-May-20254.1 KiB7852

build-profile.json5D06-May-20251.1 KiB4442

hvigorfile.jsD06-May-2025168 21

hvigorwD06-May-20252.1 KiB6428

hvigorw.batD06-May-20252 KiB7356

oh-package.json5D06-May-2025812 2725

ohosTest.mdD06-May-2025760 119

README_zh.md

1# 屏幕属性(仅对系统应用开放)
2
3### 介绍
4
5本示例主要展示了屏幕管理相关的功能,使用[@ohos.display](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-display-sys.md)、[@ohos.screen](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-screen-sys.md)接口,[@ohos.display](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-display-sys.md)接口提供获取默认display对象、获取所有display对象,开启监听、关闭监听功能;[@ohos.screen](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/js-apis-screen-sys.md)接口提供创建虚拟屏幕、销毁虚拟屏幕、扩展屏幕、镜像屏幕等功能。
6
7### 效果预览
8
9本示例监听屏幕数量变化,创建、销毁虚拟屏幕模拟屏幕增减,读取屏幕属性并显示。
10
11| 主页                              | 默认信息                                | 增加屏幕                        | 移除屏幕                           |
12| --------------------------------- | --------------------------------------- | ------------------------------- | ---------------------------------- |
13| ![](screenshots/device/index.png) | ![](screenshots/device/defaultInfo.png) | ![](screenshots/device/add.png) | ![](screenshots/device/remove.png) |
14
15使用说明
16
171.点击主页面前一个矩形,弹窗显示默认设备ID、设备名称、启用状态、设备状态、设备刷新率、屏幕旋转角度、设备宽度、设备高度、屏幕密度、屏幕方向、逻辑密度、缩放因子、xDPI(x方向中每英寸屏幕的确切物理像素值)、yDPI(y方向中每英寸屏幕的确切物理像素值),点击任意区域关闭弹窗,点击第二个矩形,弹窗显示所有屏幕信息。
18
192.点击**增加屏幕**按钮,监听到屏幕增加,增加矩形代表新增屏幕(因界面空间有效,增加超过一个屏幕,页面总共只显示两个矩形)。
20
213.点击**移除屏幕**按钮,监听到屏幕销毁,减少矩形代表移除屏幕。
22
23### 工程目录
24
25```
26entry/src/main/ets/
27|---Application
28|---common
29|   |---DisplayDevice.ets                  // 增加屏幕移除屏幕显示屏幕信息界面
30|   |---ShowInfo.ets                       // 显示屏幕所有信息
31|---MainAbility
32|---model
33|   |---DisplayModel.ts                    // 增加屏幕移除屏幕功能
34|   |---Logger.ts                          // 日志文件
35|---pages
36|   |---index.ets                          // 首页
37```
38
39### 具体实现
40
41- 增加屏幕、移除屏幕的功能接口封装在DisplayModel,源码参考:[DisplayModel](entry/src/main/ets/model/DisplayModel.ts)
42  - 使用screen.createVirtualScreen来创建虚拟屏幕;
43  - 使用screen.destroyVirtualScreen来销毁虚拟屏幕;
44- 获取Display对象显示屏幕所有属性信息的功能封装在ShowInfo,源码参考:[ShowInfo](entry/src/main/ets/common/ShowInfo.ets)
45  - 使用display.Display来显示默认屏幕信息;
46  - 使用display.Display[]来显示所有屏幕信息;;
47
48### 相关权限
49
50不涉及。
51
52### 依赖
53
54不涉及
55
56### 约束与限制
57
581.本示例仅支持在标准系统上运行。
59
602.本示例为Stage模型,支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。
61
623.编译前下载最新每日构建中ohos-sdk,解压并替换@ohos.screen.d.ts文件。
63
644.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。
65
665.本示例需要使用@ohos.screen系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)67
68### 下载
69
70如需单独下载本工程,执行如下命令:
71```
72git init
73git config core.sparsecheckout true
74echo code/SystemFeature/DEviceManagement/Screen/ > .git/info/sparse-checkout
75git remote add origin https://gitee.com/openharmony/applications_app_samples.git
76git pull origin master
77
78```