フラッターはアプリ開発プロセスを変換します。単一のコードベースから美しいモバイル、Web、デスクトップ、埋め込みアプリをビルド、テスト、展開します。
コマンドパレットを開きます。 。
Mac OSのシフト+CMD+P。
Windows上のシフト+Ctrl+P。
Flutter New Projectを入力します
[Flutter New Project]を選択します
アプリケーションを選択します
プロジェクトを配置するプロジェクトパスを選択します。
プロジェクト名を入力してください
Enterを押します
公式ドキュメントから貼り付けをコピーします。 https://codelabs.developers.google.com/codelabs/flutter-codelab-first#2
ElevatedButton(onpressed:(){
print( '次のボタンが押された'); }、child:text( 'next')、)、
Flutterアプリを実行する唯一のTell。これは、function myfunction()exで定義されています。 void main(){runapp(myfunction()); }
元。 1.StatelessWidget 2.StateFulwidget
class myApp(){#アプリの出発点。
}
myAppstate#は、アプリの状態を定義します
myAppstate#は、アプリが機能する必要があるデータを定義します。現在、 - 電流ランダムワードペアを持つ単一の変数のみが含まれています。これに後で追加します。
Changenotifier
フラッターでアプリ状態を管理する方法。また、Maney Powefullの方法はアビアル可能です。
州のクラスは、変化器を拡張します。つまり、それ自体の変更について他の人に通知できることを意味します。
すべてのウィジェットは、ウィジェットの状況が変更されるたびに自動的に呼び出されるビルド()メソッドを定義し、ウィジェットが常に最新になるようにします。
MyHomePageは、Watch Methodを使用してアプリの現在の状態に変更を追跡します。
scaffold():#これは役立つウィジェットであり、現実世界のフラッターアプリの大部分にあります。
column():#は、フラッターで最も基本的なレイアウトウィジェットの1つです。
WordPair#は、AspascalcaseやAssnakecaseなど、いくつかの役立つゲッターを提供します。ここでは、AslowerCaseを使用します
https://docs.flutter.dev/development/tools/formatting
フラッターコードには、多くの場合、ビルド方法など、かなり深い木型のデータ構造を構築することが含まれます。優れた自動フォーマットを取得するには、オプションのトレーリングコンマを採用することをお勧めします。トレーリングコンマを追加するためのガイドラインは簡単です。機能、方法、およびコンストラクターのパラメーターリストの最後に、常にトレーリングコンマを追加します。これにより、オートマチックフォーマッタがフラッタースタイルのコードに適切な量のラインブレークを挿入するのに役立ちます。
//注:Flutterは、可能な限り継承よりも構成を使用します。ここで、パディングがテキストの属性である代わりに、それはウィジェットです!
//このようにして、ウィジェットは単一の責任に焦点を合わせることができ、開発者であるあなたはUIを構成する方法に完全な自由を持っています。たとえば、パディングウィジェットを使用して、テキスト、画像、ボタン、独自のカスタムウィジェット、またはアプリ全体をパッドできます。ウィジェットは、ラッピングを気にしません。
LayoutBuilderクラス「親ウィジェットのサイズに依存できるウィジェットツリーを構築します。」
Aspectratio( '子供を特定のアスペクト比にサイズしようとするウィジェット。')。
CustomingLechildLayout( 'シングルチャイルドのレイアウトを代表者に定ルするウィジェット。')
singlechildlayoutdelegate、( '子供のレイアウトを制御します。')
custommultichildlayout( 'デリゲートを使用して複数の子供を配置します。')
fittedbox( 'フィットに応じて子供を自分自身の中に拡張して配置します。')
断片化されたボックス
layoutbuilder
MediaQuery
MediaQuerydata
OrientationBuilder
Align — Aligns-それ自体の中の子供。垂直アライメントと水平方向の両方のアライメントの両方で、-1と1の間の2倍の値が必要です。
Aspectratioは、子供を特定のアスペクト比にサイズしようとします。
ConstrainedBoxは、子供にサイズの制約を課し、最小または最大サイズを制御します。
CustomingLechildlayout - デリゲート機能を使用して、1人の子供を配置します。代表者は、子供のレイアウトの制約とポジショニングを決定できます。
拡張と柔軟性 - 列または列の子供が縮小または成長して利用可能なスペースを埋めることができます。
Fultactionallysizedbox-子供のサイズを利用可能なスペースの一部にサイズします。
LayoutBuilder - 親サイズに基づいてそれ自体を反映できるウィジェットを構築します。
Singlechildscrollview—一人の子供にスクロールを追加します。多くの場合、行または列で使用されます。
列、行、フレックス - 1回の水平または垂直の実行で子供をレイアウトします。列と行の両方がフレックスウィジェットを拡張します。
custommultichildlayout - レイアウトフェーズ中に複数の子供を配置するための代表関数を使用します。
Flow - CustomMultichildlayoutとは類似していますが、レイアウトフェーズではなく塗装段階で実行されるため、より効率的です。
ListView、GridView、およびCustomsCrollView - 子供のスクロール可能なリストを提供します。
スタック - スタックの端に比べて複数の子供を配置し、配置します。 CSSで固定された位置と同様に機能します。
表 - 複数の行と列を組み合わせて、子供向けの古典的なテーブルレイアウトアルゴリズムを使用します。
ラップ - 複数の水平または垂直の実行で子供を分類します。
アニメーション 'アニメーションシステムの主要なビルディングブロックは、アニメーションクラスです。アニメーションは、アニメーションの生涯にわたって変化する可能性のある特定のタイプの値を表します。アニメーションを実行するほとんどのウィジェットは、アニメーションオブジェクトをパラメーターとして受信し、そこからアニメーションの現在の値を読み取り、その値の変更を聞きます。
AddListener 'アニメーションの値が変更されるたびに、アニメーションはAddListenerで追加されたすべてのリスナーに通知します。通常、アニメーションに耳を傾ける状態オブジェクトは、リスナーコールバックでSetStateを呼び出して、アニメーションの新しい値で再構築する必要があるウィジェットシステムに通知します。 '
AnimatedWidget、「ステートレスアニメーションウィジェットに最も便利です」
AnimatedBuilderは、「より大きなビルド関数の一部としてアニメーションを含めることを希望する、より複雑なウィジェットに役立ちます。」
AddStatusListener 'アニメーションは、アニメーションStatusも提供します。これは、アニメーションが時間の経過とともにどのように進化するかを示します。 '
AnimationController ''