Flutter Yatay Döndürmeyi Engelleme: Disable Landscape

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

Yorum Yap