Screen Orientation is defined as the orientation in which graphics are painted on the device. For example, the figure below has a device in a vertical and horizontal physical orientation, but a portrait screen orientation. For physical device orientation, see the orientation section of Device Motion.
ScreenOrientation from expo allows changing supported screen orientations at runtime, and subscribing to orientation changes. This will take priority over the orientation key in app.json.
On both iOS and Android platforms, changes to the screen orientation will override any system settings or user preferences. On Android, it is possible to change the screen orientation while taking the user's preferred orientation into account. On iOS, user and system settings are not accessible by the application and any changes to the screen orientation will override existing settings.
Apple added support for split view mode to iPads in iOS 9. This changed how the screen orientation is handled by the system. To put the matter shortly, for the iOS, your iPad is always in the landscape mode unless you open two applications side by side. In order to be able to lock screen orientation using this module you will need to disable support for this feature. For more information about the split view mode, check out the official Apple documentation.
platformInfo (PlatformOrientationInfo) -- The platform specific lock to apply. See the PlatformOrientationInfo object type for the different platform formats.
Invokes the listener function when the screen orientation changes from portrait to landscape or from landscape to portrait. For example, it won't be invoked when screen orientation change from portrait up to portrait down, but it will be called when there was a change from portrait up to landscape left.
An enum whose values can be passed to the lockAsync method.
OrientationLock.DEFAULT -- The default orientation. On iOS, this will allow all orientations except Orientation.PORTRAIT_DOWN. On Android, this lets the system decide the best orientation.
OrientationLock.ALL -- All four possible orientations
OrientationLock.PORTRAIT -- Any portrait orientation.
OrientationLock.PORTRAIT_UP -- Right-side up portrait only.
OrientationLock.PORTRAIT_DOWN -- Upside down portrait only.
OrientationLock.LANDSCAPE -- Any landscape orientation.
OrientationLock.LANDSCAPE_LEFT -- Left landscape only.
OrientationLock.LANDSCAPE_RIGHT -- Right landscape only.
OrientationLock.OTHER -- A platform specific orientation. This is not a valid policy that can be applied in lockAsync.
OrientationLock.UNKNOWN -- An unknown screen orientation lock. This is not a valid policy that can be applied in lockAsync.
NoteOrientationLock.ALL and OrientationLock.PORTRAIT are invalid on devices which don't support OrientationLock.PORTRAIT_DOWN.
An enum representing the lock policies that can be applied on the web platform, modelled after the W3C specification. These values can be applied through the lockPlatformAsync method.
screenOrientationConstantAndroid (integer): A constant to set using the Android native API. For example, in order to set the lock policy to unspecified, -1 should be passed in. (Android only)
screenOrientationArrayIOS (Array[Orientation]): An array of orientations to allow on the iOS platform (iOS only)
screenOrientationLockWeb (WebOrientationLock): A web orientation lock to apply in the browser (web only)