亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

代碼可以這樣設定:

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ù)里,像上面那樣設定,就可以做到全局禁用橫屏模式了。

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

  @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();
  }

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

參考: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

總結

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

相關文章

最新評論