Platform
示例
¥Example
参考
¥Reference
属性
¥Properties
constants
static constants: PlatformConstants;
返回一个对象,其中包含与平台相关的所有可用的公共和特定常量。
¥Returns an object which contains all available common and specific constants related to the platform.
属性:
¥Properties:
类型 | 可选的 | 描述 | |
---|---|---|---|
isTesting | boolean | 不 | |
reactNativeVersion | object | 不 | 有关 React Native 版本的信息。键为 major 、minor 、patch ,可选 prerelease ,值为 number 。 |
版本 Android | number | 不 | Android 特定的操作系统版本常量。 |
发布 Android | string | 不 | |
串口 Android | string | 不 | Android 设备的硬件序列号。 |
指纹 Android | string | 不 | 唯一标识构建的字符串。 |
型号 Android | string | 不 | Android 设备的终端用户可见的名称。 |
品牌 Android | string | 不 | 与产品/硬件相关联的消费者可见品牌。 |
制造商 Android | string | 不 | Android 设备的制造商。 |
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:
名称 | 类型 | 必需的 | 描述 |
---|---|---|---|
config | object | 是的 | 请参阅下面的配置说明。 |
Select 方法返回最适合你当前运行的平台的值。也就是说,如果你在手机上运行,则 android
和 ios
键将优先。如果未指定,将使用 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 />;