Mengunci orientasi portrait pada flutter
Halo teman teman. Sekarang kita akan belajar bagaimana cara mengunci orientasi portrait pada flutter.
Untuk mengunci tampilan portrait pada flutter. Tambahkan kode berikut pada fungsi main.
...
import 'package:flutter/services.dart';
...
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await SystemChrome.setPreferredOrientations(
[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown],
);
...
SystemChrome.setPreferredOrientations akan mengeset orientasi flutter. Tapi masih ada masalah lain yang timbul kalau kita menggunakan launch screen. Karena pada kode tadi hanya akan dijalankan setelah flutter berjalan. Sedangkan launch screen dijalankan sebelumnya.
Untuk mengatasi hal tersebut kita harus mengeset orientasi aplikasi dari native module, baik untuk android ataupun ios.
Untuk setting orientasi portrait pada android, tambahkan kode dibawah ini di file android/app/src/main/AndroidManifest.xml di bagian activity.
<manifest ...>
...
<application ...>
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
...
Sedangkan untuk setting orientasi portrait pada ios, ubah kode pada file ios/Runner/Info.plist pada key UISupportedInterfaceOrientations.
...
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
...
Selamat mencoba dan Happy coding.