当前位置: 首页 > 文档资料 > Tabris 中文文档 >

device

优质
小牛编辑
134浏览
2023-12-01

继承自NativeObject

提供应用运行设备的信息。

通过“const {device} = require('tabris');”引入该对象

示例:

let lang = device.language;

device.on("orientationChanged", ({value: orientation}) => console.log("new orientation: ", orientation));

Properties

language

只读
Type: string

设备配置的兼容RFC 4646的字符串。例如"de", "es-ES", 等。全局时也可用navigator.language访问。
这个属性只能在控件创建时设置。一旦设置,无法修改。

model

只读
Type: string

设备型号的名称。例如"iPad4,1""Nexus 7"。全局时也可用device.model访问。
这个属性只能在控件创建时设置。一旦设置,无法修改。

orientation

只读
Type: string, 支持的值: portrait-primary, portrait-secondary, landscape-primary, landscape-secondary

设备方向。portrait-primary, portrait-secondary, landscape-primary, and landscape-secondary中的一个。

platform

Type: string, 支持的值: Android, iOS, windows

平台名称。目前为"Android", "iOS", 或"windows"。全局时也可用device.platform访问。
这个属性只能在控件创建时设置。一旦设置,无法修改。

scaleFactor

只读
Type: number

设备像素比。全局时也可用window.devicePixelRatio访问。
这个属性只能在控件创建时设置。一旦设置,无法修改。

screenHeight

只读
Type: number

设备独立像素下设备整个屏幕高度。取决于设备方向。全局时也可用screen.height访问。
这个属性只能在控件创建时设置。一旦设置,无法修改。

screenWidth

只读
Type: number

设备独立像素下设备整个屏幕宽度。取决于设备方向。全局时也可用screen.width访问。
这个属性只能在控件创建时设置。一旦设置,无法修改。

version

只读
Type: string

平台版本。在iOS上可能是这样:"8.1.1"。Android上,返回这样的版本号。全局时也可用device.version访问。
这个属性只能在控件创建时设置。一旦设置,无法修改。

win_keyboardPresent

Windows 10

只读
Type: boolean

如果硬件键盘存在则返回true。这种情况下开发者可选择处理一些用户输入。只在windows平台下可用。

win_primaryInput

Windows 10

只读
Type: boolean, supported values: touch, mouse

在PC设备上,平板模式时返回"touch",其他模式返回"mouse"。在手机上,当显示在外部设备“Continuum(一种连接设备)”时,返回"mouse",其他返回"touch"。只在windows可用。

Events

orientationChanged

orientation属性改变且旋转动画已完成时时触发。

事件参数

  • target: this 事件触发的控件。

  • value: string orientation属性新的值。

win_keyboardPresentChanged

win_keyboardPresent属性改变时触发。

事件参数

win_primaryInputChanged

win_primaryInput属性改变时触发。

事件参数

  • target: this 事件触发的控件。

  • value: boolean win_primaryInput属性新的值。

示例

const {TextView, device, ui} = require('tabris');

// Display available device information

['platform', 'version', 'model', 'language', 'orientation'].forEach((property) => {
  new TextView({
    id: property,
    left: 10, right: 10, top: 'prev() 10',
    text: property + ': ' + device[property]
  }).appendTo(ui.contentView);
});

device.on('orientationChanged', ({value: orientation}) => {
  ui.contentView.find('#orientation').set('text', 'orientation: ' + orientation);
});