欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flutter禁止手機(jī)橫屏的簡單實現(xiàn)方法

 更新時間:2021年07月09日 11:23:39   作者:Becomin'''' Charles  
app默認(rèn)是可以橫屏的,如果需要禁止橫屏話可以參考這篇文章,本文主要給大家介紹了關(guān)于Flutter禁止手機(jī)橫屏的簡單實現(xiàn)方法,需要的朋友可以參考下

在一些特定的 App 里,我們不希望手機(jī)橫屏的時候,App 發(fā)生旋轉(zhuǎn),比如微信,企業(yè)微信都是這樣的。

代碼可以這樣設(shè)定:

import 'package:flutter/services.dart';
void main() async => {
  WidgetsFlutterBinding.ensureInitialized();
  await SystemChrome.setPreferredOrientations(
    [
      DeviceOrientation.portraitUp,   // 豎屏 Portrait 模式
      DeviceOrientation.portraitDown, 
      // DeviceOrientation.landscapeLeft, // 橫屏 Landscape 模式
      // DeviceOrientation.landscapeRight,
    ],
  );
  runApp(MainApp());
};

在 main 函數(shù)里,像上面那樣設(shè)定,就可以做到全局禁用橫屏模式了。

不過,在企業(yè)微信里,我發(fā)現(xiàn),并不是徹底禁用了橫屏模式,如果我在企業(yè)微信內(nèi)部打開了一個網(wǎng)頁,這種場景下,就是可以橫屏過來用的。也就是,WebView 的場景下,我是可以橫屏的,但是在其他界面下不可以橫屏。這要怎么設(shè)置呢?

  @override
  void initState() {
    super.initState();
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.landscapeLeft,
      DeviceOrientation.landscapeRight,
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ]);
  }
  @override
  void dispose() {
    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
      DeviceOrientation.portraitDown,
    ]);
    super.dispose();
  }

像這樣,設(shè)置到一個 StatefulWidget 的 initState 和 dispose 里面就可以了。比如在我的代碼里,我把 WebView 專門封裝了一個頁面,叫 WebPage,這樣設(shè)定后,當(dāng)用戶進(jìn)入網(wǎng)頁的時候,可以橫屏,但是退回后,就會強(qiáng)制恢復(fù)豎屏。

參考:http://kmanong.top/kmn/qxw/form/article?id=2735&cate=93

參考:https://stackoverflow.com/questions/49418332/flutter-how-to-prevent-device-orientation-changes-and-force-portrait

總結(jié)

到此這篇關(guān)于Flutter禁止手機(jī)橫屏的文章就介紹到這了,更多相關(guān)Flutter禁止手機(jī)橫屏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論