[英]Flutter flutter_inappwebview “onEnterFullscreen”
Flutter flutter_inappwebview 當用戶點擊全屏視頻時旋轉為橫向。 在文檔中 flutter_inappwebview 說。
onEnterFullscreen:當前頁面進入全屏模式時觸發的事件。
onExitFullscreen:當前頁面退出全屏模式時觸發的事件。
Container( height: globals.screenHeight * 0.25, color: Colors.white, child: Column(children: <Widget>[ Expanded( child: Container( margin: const EdgeInsets.all(0.0), decoration: BoxDecoration( border: Border.all(color: Colors.blueAccent)), child: InAppWebView( initialUrl: "http://URL/play.html?name=123456789", initialHeaders: {}, onWebViewCreated: (InAppWebViewController controller) { webView = controller; }, onEnterFullscreen: AutoOrientation.landscapeAutoMode(), onLoadStart: (InAppWebViewController controller, String url) { setState(() { this.url = url; }); }, onLoadStop: (InAppWebViewController controller, String url) async { setState(() { this.url = url; }); }, onProgressChanged: (InAppWebViewController controller, int progress) { setState(() { this.progress = progress / 100; }); }, ), ), ), ] ) ),
當頁面加載時,手機自動橫向,我收到了這個錯誤。
我想要的是,當用戶單擊全屏時,視頻自動橫向
問題是onEnterFullscreen
正在等待(InAppViewController) => void
但您正在分配AutoOrientation.landscapeAutoMode()
的結果。
onEnterFullscreen: AutoOrientation.landscapeAutoMode(),
因此,每次調用build
方法時都會評估 function 。 這就是你有這兩種奇怪行為的原因:
為了解決這個問題,您需要以這種方式分配回調:
onEnterFullscreen: (controller) { AutoOrientation.landscapeAutoMode() },
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.