Flutter verändert den App -Entwicklungsprozess. Erstellen, testen und bereitstellen Sie schöne Mobilfunk-, Web-, Desktop- und Eingebettungs -Apps von einer einzelnen Codebasis.
Öffnen Sie die Befehlspalette. .
Shift+CMD+P auf Mac OS.
Verschiebung+Strg+P unter Windows.
Typ Flattern New Project
Wählen Sie Wählen Sie das neue Projekt Flutter auswählen
Wählen Sie Anwendung
Wählen Sie Projektpfad, wo Sie Ihr Projekt einsetzen möchten.
Geben Sie Ihren Projektnamen ein
Drücken Sie die Eingabetaste
Kopieren Sie die Einfügung aus der offiziellen Dokumentation folgen Sie der URL? https://codelabs.developers.google.com/codelabs/flutter-codelab-first#2
ElevatedButton (Onpresse: () {
print ('nächste Taste gedrückt'); }, Kind: text ('next'),),
Es ist nur eine Aussage, Flutter -App zu laufen. Das ist in der Funktion myfunction () ex. void main () {runapp (myfunction ()); }
Ex. 1.StatelessWidget 2.StatefulWidget
Klasse MyApp () {#Die Ausgangspunkt Ihrer App.
}
MyAppState # definiert den Zustand Ihrer App
MyAppState # definiert die Daten, die die App funktionieren muss. Derzeit enthält es nur eine einzelne Variable mit dem - -strömenden zufälligen Wortpaar. Sie werden dies später hinzufügen.
Veränderung
Möglichkeit, den App -Status in Flattern zu verwalten. Auch Maney Powfull -Wege sind günstig.
Die staatliche Klasse erweitert den Veränderungspunkt, was bedeutet, dass sie andere über ihre eigenen Änderungen informieren können.
Jedes Widget definiert eine Build () -Methode, die jedes Mal automatisch aufgerufen wird, wenn sich die Umstände des Widgets ändern, sodass das Widget immer auf dem neuesten Stand ist.
MyHomePage Tracks Änderungen am aktuellen Status der App mithilfe der Watch -Methode.
Scaffold (): # Es ist ein hilfreiches Widget und findet sich in der überwiegenden Mehrheit der realen Flattern-Apps.
Column (): # ist eines der grundlegendsten Layout -Widgets in Flattern.
Wordpair # bietet mehrere hilfreiche Getter, wie Aspascalcase oder Assnakecase. Hier verwenden wir Aslowercase
https://docs.flutter.dev/development/tools/formatting
Der Fluttercode beinhaltet häufig das Erstellen ziemlich tief baumförmiger Datenstrukturen, beispielsweise in einer Build-Methode. Um eine gute automatische Formatierung zu erhalten, empfehlen wir Ihnen, die optionalen nachfolgenden Kommas zu übernehmen. Die Richtlinie für das Hinzufügen eines nachverfolgenden Kommas ist einfach: Fügen Sie am Ende einer Parameterliste in Funktionen, Methoden und Konstruktoren immer ein nachverfolgunges Komma hinzu, in dem Sie die von Ihnen gefertigten Formatierung behalten. Dies hilft dem automatischen Formatier, eine angemessene Menge an Zeilenumbrüchen für den Code im Flattern-Stil einzufügen.
// Hinweis: Flutter verwendet die Komposition über die Vererbung, wann immer es kann. Hier ist es ein Widget, anstatt ein Attribut von Text zu sein, anstatt ein Attribut von Text zu sein!
// Auf diese Weise können sich Widgets auf ihre einzelne Verantwortung konzentrieren, und Sie, der Entwickler, haben die völlige Freiheit, Ihre Benutzeroberfläche zu komponieren. Beispielsweise können Sie das Polster -Widget zum Padtext, Bilder, Schaltflächen, Ihre eigenen benutzerdefinierten Widgets oder die gesamte App verwenden. Es ist dem Widget egal, was es einpackt.
LayoutBuilder -Klasse 'Erstellt einen Widget -Baum, der von der Größe des übergeordneten Widgets abhängen kann. "
Aspektratio ('ein Widget, das versucht, das Kind auf ein bestimmtes Seitenverhältnis zu begrüßen.').
CustomSingLeChildLayout ('Ein Widget, das das Layout seines einzelnen Kindes zu einem Delegierten verlässt.')
SingleChildLayoutdelegate, ('das das Layout des Kindes kontrolliert.')
CustomMultichildLayout ('mit einem Delegierten, um mehrere Kinder zu positionieren.')
Fittedbox ('Skalen und positioniert sein Kind in sich nach Passform in sich.')
Fraktionell gestaltet
Layoutbuilder
Medienquerität
MediaqueryData
Orientierungsbauer
Ausrichtung- ausgerichtet- ein Kind in sich. Für die vertikale und horizontale Ausrichtung benötigt es einen Doppelwert zwischen -1 und 1.
Aspektratio versucht, das Kind auf ein bestimmtes Seitenverhältnis zu begrüßen.
Die ConneNedBox legt seinem Kind Größenbeschränkungen auf und bietet die Kontrolle über die minimale oder maximale Größe.
CustomSingLechildLayout - verwendet eine Delegiertefunktion, um ein einzelnes Kind zu positionieren. Der Delegierte kann die Layoutbeschränkungen und die Positionierung für das Kind bestimmen.
Erweitert und flexibel - ermöglicht es einem Kind einer Reihe oder Säule zu schrumpfen oder zu wachsen, um den verfügbaren Platz zu füllen.
Fraktionsgroßes Box - Gräbt sein Kind auf einen Bruchteil des verfügbaren Raums.
Layoutbuilder - baut ein Widget auf, das sich basierend auf der Größe der Eltern reflektieren kann.
SingleChildScrollView - fügt einem einzelnen Kind das Scrollen hinzu. Oft mit einer Zeile oder Spalte verwendet.
Säule, Zeile und Flex - löst Kinder in einem einzigen horizontalen oder vertikalen Lauf heraus. Sowohl die Spalte als auch die Zeile erweitern das Flex -Widget.
CustomMultichildLayout - verwendet eine Delegiertefunktion, um mehrere Kinder während der Layoutphase zu positionieren.
FLÜSS - ähnlich wie CustomMultichildLayout, aber effizienter, weil es während der Lackphase und nicht während der Layoutphase durchgeführt wird.
ListView, GridView und CustomScrollView - Bereitstellung von Scroll -Listen von Kindern.
Stack - Layer und positioniert mehrere Kinder im Vergleich zu den Rändern des Stapels. Funktionen ähnlich wie in CSS fixiert.
Tabelle - verwendet einen klassischen Tischlayoutalgorithmus für seine Kinder, das mehrere Zeilen und Spalten kombiniert.
Wrap - Setzen Sie seine Kinder in mehreren horizontalen oder vertikalen Läufen ein.
Animation 'Der primäre Baustein des Animationssystems ist die Animationsklasse. Eine Animation stellt einen Wert eines bestimmten Typs dar, der sich während der Lebensdauer der Animation ändern kann. Die meisten Widgets, die eine Animation ausführen, empfangen ein Animationsobjekt als Parameter, aus dem sie den aktuellen Wert der Animation lesen und auf die sie auf Änderungen an diesem Wert hören. '
Addierener 'Wenn sich der Wert der Animation ändert, benachrichtigt die Animation alle mit AddListener hinzugefügten Hörer. In der Regel wird ein Statusobjekt, das auf einen Animationsaufruf hört, in seinem Listener -Rückruf auf sich selbst eingestuft, um das Widget -System zu informieren, das es mit dem neuen Wert der Animation wieder aufbauen muss. ''
AnimatedWidget, "ist am nützlichsten für staatenlose animierte Widgets".
AnimatedBuilder, "ist nützlich für komplexere Widgets, die eine Animation als Teil einer größeren Build -Funktion einbeziehen möchten."
AddStatusListener 'Animationen bieten auch einen AnimationStatus, der angibt, wie sich die Animation im Laufe der Zeit entwickelt. ''
AnimationController ''