Mobil cihazlarda veya tabletlerde yatay ve dikey olmak üzere iki ekran yönü bulunur. Mobil cihazlarda varsayılan ekran yönlendirme modu dikeydir. Bu yazımda, Flutter’da yatay modu devre dışı bırakma, ekran yönünü kilitlemeyi ve cihaz yönüne göre farklı içerik göstermeyi anlatacağım.
Flutter’da Ekran Yönü Kilitleme
#1 main.dart dosyasına import 'package:flutter/services.dart' paketini yükleyin.
( Services paketi Flutter ile birlikte gelir bu yüzden pubspec.yaml dosyasına herhangi bir şey yüklemeniz gerekmez.)
#2 void main runApp() metodunu oluşturup MyApp sınıfını çağırıyoruz.
void main() {
runApp(MyApp());
}
#3 Aşağıdaki kodları main.dart dosyanızdaki main() fonksiyonuna ekleyin.
void main() {
// bu satırları ekleyin
WidgetsFlutterBinding.ensureInitialized();
SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]);
/////////////
runApp(MyApp());
}
#4 Uygulamanızı yeniden başlatın. (hot reload kullanmadan)
Cihaz Yönüne Göre Farklı İçerik Gösterme
Yatay modu devre dışı bırakmak yerine cihaz yönüne göre farklı içerik göstermek istiyorsanız, aşağıdaki kodu kullanabilirsiniz.
Flutter’da cihaz yönüne göre farklı içerikler gösterebilirsiniz. Cihaz yönünü belirlemek için;
MediaQuery.of(context).orientation kullanılır.
body: MediaQuery.of(context).orientation == Orientation.landscape
?
// Landscape
Text(
'Telefonunuz yatay modda',
style: TextStyle(fontSize: 30, color: Colors.purple),
)
:
// Portrait
Text(
'Telefonunuz dikey modda',
style: TextStyle(fontSize: 18, color: Colors.red),
)