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|  |  |  |  | 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```