2017 Güncellemesi: {"orientation": "portrait"}
Şu anda bunun gibi birçok resmi React Native kılavuzu , React Native uygulamaları oluştururken Expo'nun kullanılmasını önermektedir, bu nedenle mevcut yanıtlara ek olarak, hem iOS hem de Android için çalıştığı için dikkate değer olan Expo'ya özgü bir çözüm de ekleyeceğim ve yalnızca yapmanız gereken XCode config, AndroidManifest.xml vb. ile uğraşmaya gerek kalmadan bir kez ayarlayın.
Derleme zamanında yön ayarlama:
React Native uygulamalarınızı Expo ile oluşturuyorsanız orientation, app.jsondosyanızdaki alanı kullanabilirsiniz - örneğin:
{
"expo": {
"name": "My app",
"slug": "my-app",
"sdkVersion": "21.0.0",
"privacy": "public",
"orientation": "portrait"
}
}
Bu şekilde ayarlanabilir "portrait", "landscape"veya "default"hangi hayır demektir yön kilidi ile AutoRotate için.
Çalışma zamanında oryantasyonu ayarlama:
Ayrıca bu ayarı çalışma zamanında çalıştırarak geçersiz kılabilirsiniz, örneğin:
Expo.ScreenOrientation.allow(Expo.ScreenOrientation.Orientation.LANDSCAPE);
argüman nerede olabilir:
ALL - 4 olası yönelim
ALL_BUT_UPSIDE_DOWN - Ters portre hariç tümü, belirli Android cihazlarda 4 yönün tamamı olabilir.
PORTRAIT - Dikey yönlendirme, belirli Android cihazlarda ters dikey de olabilir.
PORTRAIT_UP - Yalnızca üst dikey.
PORTRAIT_DOWN - Yalnızca baş aşağı dikey.
LANDSCAPE - Herhangi bir yatay yönlendirme.
LANDSCAPE_LEFT - Yalnızca sol manzara.
LANDSCAPE_RIGHT - Yalnızca doğru manzara.
Dönüşün algılanması:
Birden fazla yönlendirmeye izin verdiğinizde change, Dimensionsnesnedeki olayları dinleyerek değişiklikleri tespit edebilirsiniz :
Dimensions.addEventListener('change', (dimensions) => {
// you get:
// dimensions.window.width
// dimensions.window.height
// dimensions.screen.width
// dimensions.screen.height
});
ya da sadece birlikte boyutlar her zaman alabilir Dimensions.get('window')ve Dimensions.get('screen')bunun gibi:
const dim = Dimensions.get('window');
// you get:
// dim.width
// dim.height
veya:
const dim = Dimensions.get('screen');
// you get:
// dim.width
// dim.height
Etkinliğe dinlemek zaman hem olsun windowve screenfarklı şekilde erişmek niçin aynı anda o yüzden.
Dokümantasyon:
Daha fazla bilgi için bkz .: