Lompat ke konten

Mulai Berorientasi

Jendela Terminal
bun add @capgo/capacitor-screen-orientation
bunx cap sync
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';

Ambil Orientasi Layar Saat Ini.

Mengembalikan orientasi layar perangkat saat ini.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
const result = await ScreenOrientation.orientation();
console.log('Current orientation:', result.type);

Kunci Orientasi Layar ke Tipe Spesifik.

Mengunci layar ke orientasi yang ditentukan. Di iOS, jika bypassOrientationLock adalah true, maka akan juga memulai mengikuti orientasi fisik perangkat menggunakan sensor gerakan.

Perlu diingat: Antarmuka akan tetap menghormati pengaturan lock orientasi pengguna. Pengikutan gerakan memungkinkan Anda mendeteksi bagaimana perangkat dipegang bahkan ketika antarmuka tidak berputar.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Standard lock
await ScreenOrientation.lock({ orientation: 'landscape' });
// Lock with motion tracking on iOS
await ScreenOrientation.lock({
orientation: 'portrait',
bypassOrientationLock: true
});

Aktifkan orientasi layar.

Mengizinkan layar untuk berputar bebas berdasarkan posisi perangkat. Juga menghentikan orientasi berdasarkan gerakan jika sudah diaktifkan.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.unlock();

Mulai mengikuti orientasi perangkat menggunakan sensor gerakan.

Metode ini berguna ketika Anda ingin mengikuti orientasi perangkat fisik secara independen dari penguncian orientasi layar. Menggunakan Core Motion pada iOS untuk mendeteksi perubahan orientasi.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.startOrientationTracking({
bypassOrientationLock: true
});
// Listen for changes
ScreenOrientation.addListener('screenOrientationChange', (result) => {
console.log('Orientation changed:', result.type);
});

Hentikan mengikuti orientasi perangkat menggunakan sensor gerakan.

Menghentikan pengikatan orientasi berdasarkan gerakan jika sudah diaktifkan.

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
await ScreenOrientation.stopOrientationTracking();

Periksa apakah penguncian orientasi perangkat sudah diaktifkan.

Metode ini membandingkan orientasi perangkat fisik (dari sensor gerakan) dengan orientasi UI. Jika mereka berbeda, penguncian orientasi sudah diaktifkan.

Catatan: Ini memerlukan pengaktifan tracking gerakan melalui startOrientationTracking() atau lock() dengan bypassOrientationLock: true. Bekerja pada baik iOS (Core Motion) dan Android (Accelerometer).

import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Start motion tracking first
await ScreenOrientation.startOrientationTracking({
bypassOrientationLock: true
});
// Check lock status
const status = await ScreenOrientation.isOrientationLocked();
if (status.locked) {
console.log('Orientation lock is ON');
console.log('Physical:', status.physicalOrientation);
console.log('UI:', status.uiOrientation);
}

Hasil yang dikembalikan oleh metode orientation().

export interface ScreenOrientationResult {
/**
* The current orientation type.
*
* @since 1.0.0
*/
type: OrientationType;
}

Opsi untuk mengunci orientasi layar.

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;
}

Pilihan untuk memulai penginderaan orientasi menggunakan sensor gerakan.

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;
}

Hasil yang dikembalikan oleh metode 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;
}

Jenis orientasi yang menjelaskan keadaan orientasi perangkat.

export type OrientationType = 'portrait-primary' | 'portrait-secondary' | 'landscape-primary' | 'landscape-secondary';

Jenis pengunci orientasi yang dapat digunakan untuk mengunci orientasi perangkat.

export type OrientationLockType =
| 'any'
| 'natural'
| 'landscape'
| 'portrait'
| 'portrait-primary'
| 'portrait-secondary'
| 'landscape-primary'
| 'landscape-secondary';

Sumber Kebenaran

Sumber Kebenaran

Halaman ini dibuat dari plugin’s src/definitions.tsRe-run sinkronisasi ketika publik API berubah di atas

Teruskan dari Getting Started

Teruskan dari Getting Started

Jika Anda menggunakan Getting Started untuk merencanakan perilaku media dan antarmuka asli, hubungkannya dengan Menggunakan @capgo/capacitor-orientasi layar Menggunakan @capgo/capacitor-orientasi layar untuk kemampuan asli di Menggunakan @capgo/capacitor-orientasi layar, Menggunakan @capgo/capacitor-aktivitas hidup untuk kemampuan asli di Menggunakan @capgo/capacitor-live-activities, @capgo/capacitor-live-activities untuk detail implementasi di @capgo/capacitor-live-activities, Menggunakan @capgo/capacitor-video-player untuk kemampuan asli di Menggunakan @capgo/capacitor-video-player, dan @capgo/capacitor-video-player untuk detail implementasi di @capgo/capacitor-video-player.