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), )