Flattern: Wie das festlegen und sperren der Bildschirmausrichtung on-demand
Auf einer meiner Seiten flattern, ich brauche den Bildschirm zum Querformat, und es sperren, so kann es nicht drehen in den portrait-Modus, aber nur auf der einen Seite. Also müssen Sie einen Weg, um diese Funktion zu aktivieren on-the-fly. Wer weiß, wie dies zu tun?
Möchte ich es zu drehen, Querformat Links oder Querformat rechts, nur nicht in den portrait-Modus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst importieren Sie das Dienste-Paket:
import 'package:flutter/services.dart';
Dadurch erhalten Sie Zugriff auf die
SystemChrome
Klasse"Controls specific aspects of the operating system's graphical interface and how it interacts with the application."
Beim laden des Widget, tun Sie etwas wie dieses:
wenn ich dann die Seite verlassen, wieder zurück auf normal so:
Ich würde mit einem einfachen mixin zu Telefon sperren im portrait -. Die folgende Lösung sperrt die gesamte app im portrait - oder stellt spezifische Bildschirme portrait, während der rotation elsewere.
Zu block rotation in der gesamten app implementieren
PortraitModeMixin
im mainApp
widget. Denken Sie daran, zu nennensuper.build(context)
imWidget build(BuildContext context)
Methode.Zu block rotation in einem bestimmten Bildschirm implementieren
PortraitStatefulModeMixin<SampleScreen>
in den spezifischen Bildschirm, die dem staatlichen. Denken Sie daran, zu nennensuper.build(context)
im Staatlichenbuild()
Methode undsuper.dispose()
imdispose()
Methode. Wenn Ihr Bildschirm ist ein StatelessWidget - wiederholen Sie einfach die App-Lösung (Vorheriges Beispiel), d.h. die VerwendungPortraitModeMixin
.Mixins in Verbindung mit einer solchen syntax arbeiten von Dart 2.1
super.dispose()
innerhalb meiner Klasse. Unten ist die Fehlermeldung: I/ - flattern (29686): Die folgende assertion geworfen wurde, während der Finalisierung der widget-Baum: E/ - flattern (29686): _MultiPlayerAcceptPageState.entsorgen Sie konnte nicht rufen Sie super.entsorgen Sie. Ich/flattern (29686): die dispose () - Implementierungen müssen immer rufen Sie Ihre Superklasse die dispose () - Methode, um sicherzustellen, dass alle I/ - flattern (29686): Ressourcen im widget vollständig gelöst sind.