device
继承自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属性改变时触发。
事件参数
target: this 事件触发的控件。
value: boolean 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);
});