跳到主要内容
Version: 0.85

Platform

示例​


参考

属性​

constants​

React TSX
static constants: PlatformConstants;

返回一个包含当前平台所有可用通用常量和平台特定常量的对象。

属性:

名称
类型可选说明
isTestingboolean否
reactNativeVersionobject否React Native 版本信息。键为 major、minor、patch(可选 prerelease),值为 number 类型。
Version
Android
number否Android 特定的操作系统版本常量。
Release
Android
string否
Serial
Android
string否Android 设备的硬件序列号。
Fingerprint
Android
string否唯一标识该构建版本的字符串。
Model
Android
string否面向最终用户的 Android 设备名称。
Brand
Android
string否产品/硬件关联的消费者可见品牌名称。
Manufacturer
Android
string否Android 设备的制造商。
ServerHost
Android
string是
uiMode
Android
string否可能的值有:'car'、'desk'、'normal'、'tv'、'watch' 和 'unknown'。详见 Android ModeType。
forceTouchAvailable
iOS
boolean否指示设备是否支持 3D Touch。
interfaceIdiom
iOS
string否设备的界面类型。详见 UIUserInterfaceIdiom。
osVersion
iOS
string否iOS 特定的操作系统版本常量。
systemName
iOS
string否iOS 特定的操作系统名称常量。

isPad
iOS
​

React TSX
static isPad: boolean;

返回一个布尔值,指示当前设备是否为 iPad。

类型
boolean

isTV​

React TSX
static isTV: boolean;

返回一个布尔值,指示当前设备是否为电视。

类型
boolean

isVision​

React TSX
static isVision: boolean;

返回一个布尔值,指示当前设备是否为 Apple Vision 设备。如果你使用的是 Apple Vision Pro(Designed for iPad),isVision 将为 false,但 isPad 将为 true。

类型
boolean

isTesting​

React TSX
static isTesting: boolean;

返回一个布尔值,指示应用是否在开发者模式下且设置了测试标记时运行。

类型
boolean

OS​

React TSX
static OS: 'android' | 'ios';

返回表示当前操作系统的字符串值。

类型
enum('android', 'ios')

Version​

React TSX
static Version: 'number' | 'string';

返回操作系统的版本号。

类型
number
Android

string
iOS

方法​

select()​

React TSX
static select(config: Record<string, T>): T;

根据当前运行的平台返回最匹配的值。

参数:​

名称类型必填说明
configobject是详见下方配置说明。

select 方法返回当前运行平台最匹配的值。即如果你在手机上运行,android 和 ios 键会优先匹配。如果这两个键未指定,则会使用 native 键,最后才使用 default 键。

config 参数是一个对象,可包含以下键:

  • android (any)
  • ios (any)
  • native (any)
  • default (any)

使用示例:

React TSX
import {Platform, StyleSheet} from 'react-native';

const styles = StyleSheet.create({
container: {
flex: 1,
...Platform.select({
android: {
backgroundColor: 'green',
},
ios: {
backgroundColor: 'red',
},
default: {
// 其他平台,例如 Web
backgroundColor: 'blue',
},
}),
},
});

上述代码会使容器在所有平台上都具有 flex: 1,在 Android 上背景为绿色,在 iOS 上背景为红色,在其他平台上背景为蓝色。

由于对应平台键的值可以是任意类型,select 方法也可以用于返回平台特定的组件,如下所示:

React TSX
const Component = Platform.select({
ios: () => require('ComponentIOS'),
android: () => require('ComponentAndroid'),
})();

<Component />;
React TSX
const Component = Platform.select({
native: () => require('ComponentForNative'),
default: () => require('ComponentForWeb'),
})();

<Component />;