屏幕属性

说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import display from '@ohos.display';

DisplayState

用于表示显示设备的状态。

系统能力: 以下各项对应的系统能力均为 SystemCapability.WindowManager.WindowManager.Core。

名称 默认值 说明
STATE_UNKNOWN 0 表示显示设备状态未知。
STATE_OFF 1 表示显示设备状态为关闭。
STATE_ON 2 表示显示设备状态为开启。
STATE_DOZE 3 表示显示设备为低电耗模式。
STATE_DOZE_SUSPEND 4 表示显示设备为睡眠模式,CPU为挂起状态。
STATE_VR 5 表示显示设备为VR模式。
STATE_ON_SUSPEND 6 表示显示设备为开启状态,CPU为挂起状态。

Display

描述display对象的属性。

系统能力: 以下各项对应的系统能力均为 SystemCapability.WindowManager.WindowManager.Core。

名称 参数类型 可读 可写 说明
id number 显示设备的id号。
name string 显示设备的名称。
alive boolean 显示设备是否启用。
state DisplayState 显示设备的状态。
refreshRate number 显示设备的刷新率。
rotation number 显示设备的屏幕旋转角度。
width number 显示设备的宽度,单位为像素。
height number 显示设备的高度,单位为像素。
densityDPI number 显示设备的屏幕密度,单位为DPI。
densityPixels number 显示设备的屏幕密度,单位为像素。
scaledDensity number 显示设备的显示字体的缩放因子。
xDPI number x方向中每英寸屏幕的确切物理像素值。
yDPI number y方向中每英寸屏幕的确切物理像素值。

display.getDefaultDisplay

getDefaultDisplay(callback: AsyncCallback<Display>): void

获取当前默认的display对象。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名 类型 必填 说明
callback AsyncCallback<Display> 回调返回当前默认的display对象。

示例:

var displayClass = null;
display.getDefaultDisplay((err, data) => {
    if (err.code) {
        console.error('Failed to obtain the default display object. Code:  ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in obtaining the default display object. Data:' + JSON.stringify(data));
    displayClass = data;
});

display.getDefaultDisplay

getDefaultDisplay(): Promise<Display>

获取当前默认的display对象。

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型 说明
Promise<Display> 以Promise形式返回结果,返回默认的display对象。

示例:

let promise = display.getDefaultDisplay();
promise.then(() => {
    console.log('getDefaultDisplay success');
}).catch((err) => {
    console.log('getDefaultDisplay fail: ' + JSON.stringify(err));
});

display.getAllDisplay

getAllDisplay(callback: AsyncCallback<Array<Display>>): void

获取当前所有的display对象。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名 类型 必填 说明
callback AsyncCallback<Array<Display>> 回调返回当前所有的display对象。

示例:

display.getAllDisplay((err, data) => {
    if (err.code) {
        console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data))
});

display.getAllDisplay

getAllDisplay(): Promise<Array<Display>>

获取当前所有的display对象。

系统能力: SystemCapability.WindowManager.WindowManager.Core

返回值:

类型 说明
Promise<Array<Display>> 以Promise形式返回结果,返回包含所有Display对象的Array。

示例:

let promise = display.getAllDisplay();
promise.then(() => {
    console.log('getAllDisplay success');
}).catch((err) => {
    console.log('getAllDisplay fail: ' + JSON.stringify(err));
});

display.on('add'|'remove'|'change')

on(type: 'add'|'remove'|'change', callback: Callback<number>): void

开启监听。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名 类型 必填 说明
type string 设置监听类型。
- type为"add",表示监听增加显示设备。
- type为"remove",表示监听移除显示设备。
- type为"change",表示监听改变显示设备。
callback Callback<number> 回调返回监听到的显示设备的id。

示例:

var type = "add";
var callback = (data) => {
    console.info('Listening enabled. Data: ' + JSON.stringify(data))
}
display.on(type, callback);

display.off('add'|'remove'|'change')

off(type: 'add'|'remove'|'change', callback?: Callback<number>): void

关闭监听。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名 类型 必填 说明
type string 设置监听类型。
- type为"add",表示监听增加显示设备。
- type为"remove",表示监听移除显示设备。
- type为"change",表示监听改变显示设备。
callback Callback<number> 回调返回监听到的显示设备的id。

示例:

var type = "remove";
display.off(type);