Skip to main content

Platform

示例

¥Example


参考

¥Reference

属性

¥Properties

constants

static constants: PlatformConstants;

返回一个对象,其中包含与平台相关的所有可用的公共和特定常量。

¥Returns an object which contains all available common and specific constants related to the platform.

属性:

¥Properties:

类型可选的描述
isTestingboolean
reactNativeVersionobject有关 React Native 版本的信息。键为 majorminorpatch,可选 prerelease,值为 number
版本
Android
numberAndroid 特定的操作系统版本常量。
发布
Android
string
串口
Android
stringAndroid 设备的硬件序列号。
指纹
Android
string唯一标识构建的字符串。
型号
Android
stringAndroid 设备的终端用户可见的名称。
品牌
Android
string与产品/硬件相关联的消费者可见品牌。
制造商
Android
stringAndroid 设备的制造商。
ServerHost
Android
string是的
uiMode
Android
string可能的值为:'car''desk''normal''tv''watch''unknown'。了解有关 Android 模式类型 的更多信息。
forceTouchAvailable
iOS
boolean指示设备上 3D Touch 的可用性。
interfaceIdiom
iOS
string设备的接口类型。了解有关 UI 用户界面惯用语 的更多信息。
操作系统版本
iOS
string特定于 iOS 的操作系统版本常量。
系统名称
iOS
string特定于 iOS 的操作系统名称常量。

isPad
iOS

static isPad: boolean;

返回一个布尔值,定义设备是否为 iPad。

¥Returns a boolean which defines if device is an iPad.

类型
boolean

isTV

static isTV: boolean;

返回一个布尔值,定义设备是否是电视。

¥Returns a boolean which defines if device is a TV.

类型
boolean

isVision

static isVision: boolean;

返回一个布尔值,定义设备是否为 Apple Vision。如果你使用的是 Apple Vision Pro(专为 iPad 设计)isVision 将是 false,但 isPad 将是 true

¥Returns a boolean which defines if device is an Apple Vision. If you are using Apple Vision Pro (Designed for iPad) isVision will be false but isPad will be true

类型
boolean

isTesting

static isTesting: boolean;

返回一个布尔值,定义应用是否在设置了测试标志的开发者模式下运行。

¥Returns a boolean which defines if application is running in Developer Mode with testing flag set.

类型
boolean

OS

static OS: 'android' | 'ios';

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

¥Returns string value representing the current OS.

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

Version

static Version: 'number' | 'string';

返回操作系统的版本。

¥Returns the version of the OS.

类型
数字
Android

字符串
iOS

方法

¥Methods

select()

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

返回最适合你当前运行的平台的值。

¥Returns the most fitting value for the platform you are currently running on.

参数:

¥Parameters:

名称类型必需的描述
configobject是的请参阅下面的配置说明。

Select 方法返回最适合你当前运行的平台的值。也就是说,如果你在手机上运行,则 androidios 键将优先。如果未指定,将使用 native 键,然后使用 default 键。

¥Select method returns the most fitting value for the platform you are currently running on. That is, if you're running on a phone, android and ios keys will take preference. If those are not specified, native key will be used and then the default key.

config 参数是一个具有以下键的对象:

¥The config parameter is an object with the following keys:

  • android(任何)

    ¥android (any)

  • ios(任何)

    ¥ios (any)

  • native(任何)

    ¥native (any)

  • default(任何)

    ¥default (any)

用法示例:

¥Example usage:

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

const styles = StyleSheet.create({
container: {
flex: 1,
...Platform.select({
android: {
backgroundColor: 'green',
},
ios: {
backgroundColor: 'red',
},
default: {
// other platforms, web for example
backgroundColor: 'blue',
},
}),
},
});

这将导致容器在所有平台上具有 flex: 1,在 Android 上具有绿色背景颜色,在 iOS 上具有红色背景颜色,在其他平台上具有蓝色背景颜色。

¥This will result in a container having flex: 1 on all platforms, a green background color on Android, a red background color on iOS, and a blue background color on other platforms.

由于相应平台密钥的值可以是 any 类型,因此也可以使用 select 方法返回特定于平台的组件,如下所示:

¥Since the value of the corresponding platform key can be of type any, select method can also be used to return platform-specific components, like below:

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

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

<Component />;