Per iniziare
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-screen-orientation`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/screen-orientation/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Puoi usare il nostro setup assistito dall'IA per installare il plugin. Aggiungi le skill Capgo al tuo strumento di IA usando il seguente comando:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi usa il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-screen-orientation` plugin in my project.Se preferisci la configurazione manuale, installa il plugin eseguendo questi comandi e segui le istruzioni specifiche per piattaforma qui sotto:
bun add @capgo/capacitor-screen-orientationbunx cap syncImporta
Sezione intitolata “Import”import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';Avvio rapido
Sezione intitolata “Quick start”import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
const result = await ScreenOrientation.orientation();console.log('Current orientation:', result.type);Esempio: lock
Sezione intitolata “Esempio: lock”import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Standard lockawait ScreenOrientation.lock({ orientation: 'landscape' });
// Lock with motion tracking on iOSawait ScreenOrientation.lock({ orientation: 'portrait', bypassOrientationLock: true});Esempio: unlock
Sezione intitolata “Esempio: unlock”import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.unlock();Errori comuni
Sezione intitolata “Errori comuni”- Listener: rimuovi gli handle quando gli schermi vengono smontati.
- Sync nativo: esegui
bunx cap syncdopo gli aggiornamenti dei plugin. - Fonte di verità: fidati
src/definitions.tsnel repo GitHub.
Panoramica API
Sezione intitolata “Panoramica API”orientation
Sezione intitolata “orientation”Ottieni l'orientamento attuale dello schermo.
Restituisce l'orientamento attuale dello schermo del dispositivo.
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
const result = await ScreenOrientation.orientation();console.log('Current orientation:', result.type);Blocca l'orientamento dello schermo su un tipo specifico.
Blocca lo schermo sull'orientamento specificato. Su iOS, se bypassOrientationLock è true, inizierà anche il tracking dell'orientamento fisico del dispositivo tramite i sensori di movimento.
Nota: l'interfaccia rispetterà comunque l'impostazione di blocco orientamento dell'utente. Il motion tracking ti permette di rilevare come il dispositivo è tenuto fisicamente anche quando l'interfaccia non ruota.
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Standard lockawait ScreenOrientation.lock({ orientation: 'landscape' });
// Lock with motion tracking on iOSawait ScreenOrientation.lock({ orientation: 'portrait', bypassOrientationLock: true});Sblocca l'orientamento dello schermo.
Permette allo schermo di ruotare liberamente in base alla posizione del dispositivo. Interrompe anche il tracking dell'orientamento basato sul movimento, se era attivo.
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.unlock();startOrientationTracking
Sezione intitolata “startOrientationTracking”Inizia a tracciare l'orientamento del dispositivo tramite i sensori di movimento.
Questo metodo è utile per tracciare l'orientamento fisico del dispositivo indipendentemente dal blocco dell'orientamento dello schermo. Su iOS utilizza Core Motion per rilevare i cambiamenti di orientamento.
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.startOrientationTracking({ bypassOrientationLock: true});
// Listen for changesScreenOrientation.addListener('screenOrientationChange', (result) => { console.log('Orientation changed:', result.type);});stopOrientationTracking
Sezione intitolata “stopOrientationTracking”Interrompe il tracciamento dell'orientamento tramite i sensori di movimento.
Ferma il tracciamento dell'orientamento basato sul movimento, se attivo.
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.stopOrientationTracking();isOrientationLocked
Sezione intitolata “isOrientationLocked”Controlla se il blocco dell'orientamento del dispositivo è attualmente attivo.
Questo metodo confronta l'orientamento fisico (dai sensori di movimento) con l'orientamento dell'interfaccia UI. Se differiscono, il blocco dell'orientamento è attivo.
Nota: Richiede che il tracciamento sia attivo tramite startOrientationTracking() o lock() con bypassOrientationLock: true. Funziona sia su iOS (Core Motion) che su Android (Accelerometro).
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Start motion tracking firstawait ScreenOrientation.startOrientationTracking({ bypassOrientationLock: true});
// Check lock statusconst status = await ScreenOrientation.isOrientationLocked();if (status.locked) { console.log('Orientation lock is ON'); console.log('Physical:', status.physicalOrientation); console.log('UI:', status.uiOrientation);}Riferimento ai tipi
Sezione: “Type Reference”ScreenOrientationResult
Sezione intitolata “ScreenOrientationResult”Risultato restituito dal metodo orientation().
export interface ScreenOrientationResult { /** * The current orientation type. * * @since 1.0.0 */ type: OrientationType;}OrientationLockOptions
Sezione intitolata “OrientationLockOptions”Opzioni per il blocco dell'orientamento dello schermo.
export interface OrientationLockOptions { /** * The orientation type to lock to. * * @since 1.0.0 */ orientation: OrientationLockType;
/** * Whether to track physical device orientation using motion sensors. * When true, uses device motion sensors to detect the true physical * orientation of the device, even when the device orientation lock is enabled. * * **Important:** This does NOT bypass the UI orientation lock. * The screen will still respect the user's orientation lock setting. * This option only affects orientation detection/tracking - you'll receive * orientation change events based on how the device is physically held, * but the UI will not rotate if orientation lock is enabled. * * Supported on iOS (Core Motion) and Android (Accelerometer). * * @default false * @since 1.0.0 */ bypassOrientationLock?: boolean;}StartOrientationTrackingOptions
Sezione intitolata “StartOrientationTrackingOptions”Opzioni per avviare il tracciamento dell'orientamento tramite sensori di movimento.
export interface StartOrientationTrackingOptions { /** * Whether to track physical device orientation using motion sensors. * When true, uses device motion sensors to detect the true physical * orientation of the device, even when the device orientation lock is enabled. * * **Important:** This does NOT bypass the UI orientation lock. * This only enables detection of the physical orientation. * * Supported on iOS (Core Motion) and Android (Accelerometer). * * @default false * @since 1.0.0 */ bypassOrientationLock?: boolean;}OrientationLockStatusResult
Sezione intitolata “OrientationLockStatusResult”Risultato restituito dal metodo isOrientationLocked().
export interface OrientationLockStatusResult { /** * Whether the device orientation lock is currently enabled. * * This is determined by comparing the physical device orientation * (from motion sensors) with the UI orientation. If they differ, * orientation lock is enabled. * * Available on iOS (Core Motion) and Android (Accelerometer) when motion tracking is active. * * @since 1.0.0 */ locked: boolean;
/** * The physical orientation of the device from motion sensors. * Available when motion tracking is active (iOS and Android). * * @since 1.0.0 */ physicalOrientation?: OrientationType;
/** * The current UI orientation reported by the system. * * @since 1.0.0 */ uiOrientation: OrientationType;}OrientationType
Sezione intitolata “OrientationType”Tipo di orientamento che descrive lo stato di orientamento del dispositivo.
export type OrientationType = 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary';OrientationLockType
Sezione intitolata “OrientationLockType”Tipo di blocco dell'orientamento usato per bloccare l'orientamento del dispositivo.
export type OrientationLockType = | 'any' | 'natural' | 'landscape' | 'portrait' | 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary';Fonte di verità
Sezione intitolata “Fonte di verità”Questa pagina è generata dal src/definitions.ts. Riesegui la sync quando il API pubblico cambia upstream.
Continua da Getting Started
Sezione intitolata “Continua da Getting Started”Se stai usando Per iniziare per pianificare il comportamento dei media nativi e dell'interfaccia, collegalo a Utilizzo di @capgo/capacitor-screen-orientation per la funzionalità nativa in Utilizzo di @capgo/capacitor-screen-orientation, Uso di @capgo/capacitor-live-activities per la funzionalità nativa nella pagina Uso di @capgo/capacitor-live-activities, @capgo/capacitor-live-activities per il dettaglio implementativo in @capgo/capacitor-live-activities, Uso di @capgo/capacitor-video-player per la funzionalità nativa nella pagina Uso di @capgo/capacitor-video-player, e @capgo/capacitor-video-player per il dettaglio implementativo in @capgo/capacitor-video-player.