フラッターは、我々はすぐにiOSとAndroidの上の高品質なネイティブ・ユーザー・インターフェースを構築することができ、GoogleのモバイルUIフレームワークです。フラッターは、既存のコードで動作することができます。世界では、フラッターは、開発者や組織の成長数で使用されている、とフラッターは完全に無料、オープンソースです。
オープンソース住所:https://github.com/flutter/flutter
公式サイト:https://flutter.dev/
フラッター技術塩漬けチーム:https://www.yuque.com/xytech/flutter/
フラッターエントリ:https://blog.csdn.net/kmyhy/article/details/80922736
フラッターコントロールモール:https://pub.dev/flutter
CSDNも一緒に高品質のフラッタチュートリアル、経験、問題の記述が多数をもたらし、アイデアの一連のボーエン共有を解決するブログ、同時に、この記事では、慎重に読者にいくつかの品質のブログの記事から選択します!
図1に示すように、ベースのチュートリアル(エントリ、インストール)
インストール上のフラッターは、することができ、ステップの公式ドキュメントを参照してください。本論文では、一例としてMacOSの、MacOSでフラッターのインストールの詳細。
フラッターを学習する前に、私たちが最初にフラッター、クロスプラットフォームの下にあるものを知ってみましょう。フラッターはすぐにiOSとAndroidの上の高品質なネイティブ・ユーザー・インターフェースを構築することができ、GoogleのオープンソースのモバイルUIフレームワークです。一方、フラッターはフラッターは、開発者や組織の成長数で使用されている、世界で既存のコードで動作することができます。
3、エントリーから実際にフラッター
環境構築、ケースへのインストールエクスペリエンス、下がるとフラッターを学ぶ方法を確認するプロセスのセット。
4、フラッタープロジェクトのディレクトリ構造とデモコードは説明
このブログを、私たちは、ディレクトリ構造に焦点を当て、デフォルトで生成されたプロジェクトを優先すると、コードがフラッタプロジェクトを説明しご紹介します。
特徴はないダイナミックな展開シナリオの追求のために、一貫性のあるクロスプラットフォームの経験のiOSとAndroid、高性能なシーンUIの相互作用効果の追求の追求のために自分自身を舞います。Android上でフラッターはすでにダイナミック展開が可能となりますが、理由はAppleの制限により、iOSのダイナミックな展開が非常に困難であり、アップルフラッターチームも積極的に通信しています。
米国のミッションは、オープンソースコミュニティの練習、助けフラッターより良い開発から正帰還に大きなフロントエンドチームをテイクアウトし、達成フラッターよりシナリオの下で使用され続けると、検索および修正の問題。あなたが興味フラッターかもしれない場合は、参加することを歓迎します。
図6は、フラッターエントリ高度なツアー:こんにちはフラッター
ほぼすべての私たちの学ぶか、いずれかのプログラミング言語を習得したいと我々は単純なものから、また、フラッターが共有への最初の記事を進めたエントリとしてこのポストのハローワード始まりです世界は列の内容を説明していない、ダートの言語に導入して、コンフィギュレーション・フラッターの開発環境として、始まったこんにちは、私は、詳細紹介リーダーにしないだろう見つけるためにGoogleやBaiduのは自由です。
フラッターは、クロスプラットフォームのモバイル開発フレームワーク(AndroidとiOS)で、そしてダート言語を使用しています。
フラッターの目標は、高性能、高安定、高フレームレート、低遅延のAndroidおよびiOSアプリケーションを作成することです。そして、ネイティブアプリケーションと異なるプラットフォームでそれで開発されたアプリケーションは、同じ経験を持っています。ネイティブの経験は、異なるプラットフォームでは、システム全体でアプリケーションのルックより協調することを、保持されるべきです。ローリング操作異なるプラットフォーム、フォント、アイコン、およびその他のアプリケーションの特別な特徴は、ネイティブアプリケーションは、同様に動作のように、ユーザーが感じることができるように、一貫性のあるプラットフォーム上でなければなりません。
8、フラッターの公式ウェブサイトの開発の最初の例では、達成します
フラッターは、私のお気に入りを開発します
- データ準備:アレイを使用して、データ記憶装置のリストを、選択されたデータは、(セット自動的にデエンファシスされるように)設定を使用して格納することができます。
- Interfaceリスト:リストビューの使用
- ジャンプインターフェース:あなたは、ナビゲータを使用することができます
2、ウィジェット
1、ウィジェットのテキスト(テキストコントロール)のフラッタ基礎
テキスト、AndroidのTextViewの中のようないくつかのスタイル属性を含むテキスト表示制御を表示するテキストウィジェットシンプルなスタイル。
2、ウィジェットボタン(RaisedButton、FlatButton、OutlineButton、IconButtonのフラッタ基準 )
フラッターは彼らたちに、頻繁に使用するボタンは次のようにしている私たちに事前に定義されたボタンコントロールの数を与えます:
- RaisedButton:突出ボタン、実際には、Androidのマテリアルデザインスタイルのボタンで、MaterialButtonから継承されました
- FlatButton:フラットボタン、MaterialButtonから継承されました
- OutlineButton:MaterialButtonから継承されたボーダーとボタン、
- IconButton:StatelessWidgetから継承されたアイコンボタン、
あなたは属性が設定されたり、多くのことができます参照して、MaterialButton見プロパティを見てみましょう。
3、画像(イメージ)とアイコン(アイコン)のフラッターウィジェット
フラッターでは、我々は一般的には、ネットワークまたはローカルの画像から、当社の画像リソースは、画像フラッターが似ている、画像を表示するには、Imageコントロールを使用することができます。
4、フラッタウィジェット之コンテナ、アスペクト比、FittedBox、舞台裏
前のブログで、私たちはそのようなピクチャーコントロールとで別々の使用などのテキストコントロール、ボタンコントロール、などいくつかの一般的なフラッタ制御を導入
しかし、開発プロセスでは、我々はこれらの基本的なコントロールを持っている一般的に従ったレイアウトで配置されることになるが特定の順序から、私たちが望む効果を達成するためにアレンジ。
アンドロイドはでframeLayoutなどのLinearLayout、RelativeLayout、が似ている
ため、この問題は、我々は、クラスコントロールのレイアウトを見てみましょう。
フラッタにおいて、レイアウト制御は、大きく分けて次の2つのクラスに分類されています
- 唯一の子コントロールのレイアウトコントロール(子)
- どの子コントロールのレイアウトを制御することができます(子供)
5、フラッターウィジェット之行、列、スタック、IndexedStack等
フラッターコントロールレイアウトクラスは、複数の子コントロールが、詳細の多くを持っているを参照してください含まれている公式の文書、紙は、各コントロールのコードの詳細な分析を結合します。
グリッドレイアウトはまた、多くの場合、モバイル開発に使用され、フラッターは、私たちが使用するために、我々はこの記事の使用GridViewのを見て、私たちにGridViewコントロールを提供します。
最後にTabBarにとTabBarViewは一言で言えば、それをどうするかである、TabBarのナビゲーションバー、ナビゲーションバーTabBarViewが現在対応しているコンテンツ領域です。
一方で、ソースコードを表示するために、学習のコストは、ページレイアウト正直に言うと、それは私が、違いの実際の開発とデモは、一方で、かなり大きいシンプルなので想像効果を達成していなかった、階層があまりにもネストされています深いです。。
カルーセル図は、あまりにも一般的なAの機能ではありません。今日では、フラッターを見て実現する方法です。
このコラムで学ぶための前のセクションでは、我々は基本的にすべての一般的なレイアウトでフラッターを入れて、複数ページのジャンプルートを含むコンポーネントが導入され、注意深い読者は前のレッスンでは、我々は新しいフラッターを作成するたびに見つけることができはい足場の出現は、私たちは、基本的な材料設計のレイアウト構造を達成するのを助けるためにある、簡素化:ページが直接すぐに足場関連する属性を設定することで、ページレイアウトをレンダリングし、足場を返すのルートレイアウトのビルド方法であることを行っていますページの開発作業は、私たちは足場を設定足場ページのイメージとして理解することができます。
10、ラジャにアップロードリストビュープルダウンリフレッシュ&詳細情報:フラッターエントリ高度なツアー
ほぼすべてのAPP標準の長いリストのレイアウトでは、実際の開発、あなたが長いリストを使用するほぼすべての1アプリが図に見つけることができ、かつ基本的な操作の長いリストがリフレッシュにプルダウンでなければならない、ラジャは、より多くのアップロード。ネイティブのAndroidでは、我々は一般的に、よりロードするかどうかを決定するために)RecyclerView.OnScrollListenerを(結合RecyclerViewを聞くためにイベントをドラッグしてスライドリストの状態を判断するために、プルダウンリフレッシュ操作を完了するには、次のSwipeRefreshLayoutでRecyclerView support.v4パッケージを使用します操作は、ネイティブのAndroidの開発経験で、私たちは、事業の長いリストにフラッターで同じアプリケーションでこのアイデアを置くことができます。ここでは、ラジャに追いつくために、ドロップダウンリフレッシュで一緒にフラッターを見てそれをよりアップロードします。
11、フラッターエントリー高度なツアー:ListViewコントロール&GridViewの
レイアウトウィジェットの記事を話す前に、私たちは、レイアウトの要件を完了するために、異なるシナリオに基づいて、異なるウィジェットの適正な選択をしているが、我々はやらなかったショーの長いリスト上のデータは、導入を展開し、数字の長いリストがほとんど表示されますAPPのいずれかでの日常生活の中で、その重要性の観点から、私はウィジェット-リストビュー&GirdViewの長いリストを説明するための独立した章として考えます。
Webページまたはネイティブアプリのように、我々は、複数のページ間のパラメータ、戻り値のパラメータおよびその他のトラフィックを通過フラッターがジャンプするAPPの開発に関与することになります使用し、フラッタールーティングはほかに、我々は述べたこれらのサービスタイプのすべてを満たすことができます我々もフラッターがルーティングジャンプページにパーソナライズされたページのジャンプアニメーションの動作を追加するアニメーション組み合わせることができ、私はアニメーションフラッタ後続のセクションで詳しく説明します。このセクションのトピックでは、読者だけでなく、いくつかの簡単なUIをDIYすることができ、またFluttterの組み合わせシェアをルーティングする前に、当然の利点を取るためにいくつかの簡単なマルチページフラッターアプリケーションを実行します。
13、フラッターエントリー高度なツアー:フラッターデータストレージ
私は、データの長期保存の必要性、書かれたSharedPreferencesはストレージを行い、我々は(などのユーザ情報、APPの設定情報、など)いくつかの軽量なデータを置く、ネイティブAndroidの開発はネイティブのAndroidに格納されたデータの読者には見知らぬ人ではありませんでしたと信じてローカル・データ・ストレージ・システムの完全なセットと同じまた、ローカルファイルを書き込んだり、もちろんフラッターのsqlite3の、ここでは、フラッターの上記使用中の3つのローカルストレージを理解する必要があります。
14、フラッターエントリー高度なツアー:インデックス&選びました
今日は、このような進展として選んだのコントロールと様々なインデックスを見てはCircularProgressIndicatorリング、バー
LinearProgressIndicator水平プログレスバー、スライダースライダーだけでなく、チェックボックス、スイッチをので、ここでは、今日のシェアを入力する部分を持っています。
15、フラッターエントリアドバンスト・ツアー:ダイアログ&トースト
ユーザーエクスペリエンスとの相互作用がさらに良くあり行うための鮮やかなアプリを取得することを、私たちは皆知っている、ネイティブ開発を行う場合には、様々なスタイルは、デザインの対話で、フラッターを不可欠な壮大なヒントをダイアログUI上の経験の完全なアカウントは、ウィジェットベースの材料設計スタイル]ダイアログボックスのセットを設計し、私たちを助けるためにボックス、およびヒントのための軽量。
16、フラッターエントリー高度なツアー:StatelessWidget&StatefullWidget
以前の研究では、様々な基本的なコンポーネントの使用にフラッタにさらされるだけでなく、いくつかの一般的なレイアウト組版を学び、UIに応じて、異なるレイアウトモード合理的な選択ウィジェットのレイアウトをマスターし、私たちは目の前にあるように見えます我々は今日それも、賢いのビットを逃し、比較的剛性の静的なUIページです。この記事をフラッター知識を習得する前に、他の言葉で、任意のインタラクティブな体験せずに、静的なすべてのUIを学びますそれは移行され、そして今日は、私はあなたフラッター下の動的ページの簡単な理解をリードします。
援助は、いくつかのGestureDetector自体与えることができ、ユーザと対話し、適切なロジック処理を行うためにいくつかの簡単なジェスチャーを完了するために、コールバックコールバックをクリックし、ウィジェットをクリックする能力を持っていないことを学んだ私たちはGestureDetectorを学んだのブログ記事では、我々はまた、いくつかのウィジェットを述べましたユーザーがコントロールをクリックしたときにそれ自体がコールバックをonPressed RaisedButtonとFloatingActionButtonコントロールと同様に、コールバックがトリガされます。このブログでは、ブログの記事に置か説明統一様々なボタンを分類するために言及しました。
18、フラッターエントリー高度なツアー:GestureDetector
ユーザーの簡単なジェスチャーとの対話を処理する責任GestureDetectorフラッターは、GestureDetectorコントロールは、ユーザーによるジェスチャー入力を検出し、画像を表示し、クリック、ドラッグやズームなどの適切な治療を行うことはありません。GestureDetectorを用いて多くのコントロールは、ユーザーがコントロールをクリックすると、ユーザがコントロールをクリックしたときにコールバックがトリガされるが、コールバックをトリガーするようIconButton、RaisedButtonとFloatingActionButtonコントロールがonPressedたコールバックのような追加のコントロールのためのコールバックを提供します。
19、フラッターエントリー高度なツアー:レイアウトウィジェット
フラッターでも、別のレイアウト、さまざまなシナリオを提供してくれ、必要に応じて、我々はUI上に描画UIのレイアウトを完了するために、別のレイアウトを選択することができ、レイアウトでは、いくつかのレイアウトは、ボックスの前面に描画します私はいくつかの一般的なレイアウトをリストの下にレイアウトモデル、いくつかのネイティブAndroidの考えと完全に一致は、そう私たちはそれを学ぶためには、とても抽象的ではなく、最後にあなたとフラッタの例では、ウィジェットのレイアウトを完成する方法を見ています。
今日は別のウィジェット - 画像、画像名が表示画面を制御するために使用される示唆について学ぶ、彼は、テキストと同様に、StatelessWidget属し、StatefullWidgetとStatelessWidgetに私は当面、今後の記事で詳しくこのリーダー缶を説明しますネイティブAndroidの開発を行う、この知識を無視し、我々はソースを指定する別の画像をImageViewのを与えることができ、それは元のネットワークは、描画可能で、ビットマップは、ファイルは、など、また、フラッターがちょうど負荷フラッターで異なるソースからの画像の読み込みをサポートすることができますネイティブのAndroid少し異なると異なるリソースの絵、この問題のテーマに私たちを次のよう。
21、フラッターエントリアドバンストツアー:テキストウィジェット
テキストウィジェットフラッターは非常に一般的に、ウィジェットで使用されて、AndroidプラットフォームでTextViewのように、多かれ少なかれ、ほとんどの場合、アプリケーションのUIのそれぞれにその存在に現れるのは、テキストのスタイルにそれを見に行くみましょう!
22、フラッターエントリー高度なツアー:テキスト入力ウィジェットのTextField
私たちが一緒に学ぶ前の記事では、テキストウィジェットテキストにいくつかの一般的なプロパティおよびフォントスタイルを設定する方法と、テキスト何であるテキストウィジェット:フラッターエントリ高度なツアーを表示テキストに使用されている私たちのテキストテキストを理解するために学習することにより、 、フォントスタイルなど、いくつかの特別な要件は、存在する場合、テキストの色は、我々は確かだろうテキスト表示用のテキスト表示で、非常に類似したとネイティブのAndroidのTextViewでカスタマイズを、行うために、テキストスタイルに行くことができるTEXTSTYLEで指定されましたテキスト入力があるだろう、今日はフラッターテキスト入力ウィジェットのTextFieldについて学ぶために一緒に持っています。、
23は、あるネットワークのフラッターパッケージはディオ(クッキーマネージャは、インターセプタ、ダウンロードファイル、例外処理、キャンセル要求などを追加)を要求します
DIOが強いダートHTTPリクエストライブラリーであることを支持RESTfulなAPI、いるFormData、インターセプタ、リクエストキャンセル、クッキーの管理、ファイルのアップロード/ダウンロード、タイムアウト、カスタム・アダプターのように...
24、フラッターExpansionPanelListを説明するために使用します
ExpansionPanelListはあなたが組み合わせリストコントロールを開くことができるアイテムです。でExpansionPanelでは、本体はリストビューで直接場合は、キーで表示されませんもエラーなので、しばらく出て、この場所は、その後、コンテナ表示するだけでなく、一定の高さの制限でそれを包んこと。
水平または垂直フローレイアウトとすることができるウィジェットのシナリオを使用して表示:いいえ短い時間必要なラインショーより変更ライン。
26、フラッタチップは、詳細
使用シナリオ:プロパティやラベル、歴史、検索履歴や他のもの。
一般的にモバイル開発モバイルアプリケーションで使用されるルート(ルート)は、ページ(ページ)を表し、具体的には、Androidの中のルートが通常の活動を指し、iOSの中指でのViewController。
ナビゲーターは、ルーティングウィジェットのコレクションのスタックによって管理されているルート管理ウィジェット、です。通常、現在のページがスタックの最上部をルーティング画面に表示され、ナビゲーターは、ルーティング・スタックを管理する方法の範囲を提供しています。
28、BottomSheetDialogコンポーネントの選択のフラッタ開発
BottomSheetDialogは、ModalBottomSheetDialogは、その名前が同じように、2つのダイアログが画面の下からポップアップし、また興奮にShowDialogを使用する必要があり、その差はBottomSheetDialogのデフォルトのフルスクリーン、半画面表示とModalBottomSheetDialog、サポートとの両方をカバーしていますユーザーが上下に指をドラッグします。
それはネイティブのAndroidとほぼ同じ用途や機能の使用に関連しているかどうかスナックバーは、ノートへの唯一のことは、Scaffold.ofに渡される(コンテキスト).showSnackBar()コンテキストは、コンテキスト、次の足場であってはなりません。
ツールチップは、ウィジェットが表示されているように、ユーザーが子として渡すことができ、ユーザーがウィジェットを押すと、あなたは同様のトーストは、優れたユーザーエクスペリエンスのヒント、使用するのは簡単のために、消える時から、上または下に表示されプロンプトが表示されます。
その他3。
。1、フラッターは、ネットワークデータおよびAPIのパースを取得しました
直接の質問に、最初にすべての私の要求はネットワークツールカテゴリによって作られ、あなたが直接使用することができますの。
2、フラッターは、iOSのネイティブ表示PlatformViewビューを使用して開発しました
我々はフラッターモバイルアプリのクロスプラットフォーム開発を開発し、遭遇したコンポーネントフラッターは、ネイティブの効果を満たすことができない使用する場合は、使いやすいネイティブコントロールとして良いとしていくつかのコントロールは、ウィジェットフラッター中で良い結果を達成するために組み合わせることがiOSのネイティブビューを使用していました。PlatformViewは、AndroidとiOSフラッター公式見解ネイティブウィジェットに埋め込むことができます。
3、フラッター古いiOSの開発プロジェクト統合プロセスフラッタ
これは、古いiOSの統合プロジェクトフラッタプロセスについての話です。そして達成
- ページフラッタへのiOSページジャンプ
- iOSのページへのフラッターページジャンプ
。4、ネイティブOCとフラッターフラッターの開発、Javaの双方向コミュニケーション-1
私たちは、今日の話:フラッターとネイティブOCは、Javaの双方向コミュニケーションも実現を橋渡しする方法です。同様にWebViewJavascriptBridge、JavaScriptCoreにおける道。フラッターは、プラットフォームのチャンネルを提供し、通信との相互作用データのあなたのViewControllerフラッタビューを管理します。非同期通信機構は、DARTコードとのViewControllerホストブリッジング、本質的にパイプのプラットフォームであり、それはフレームIOSで実行されます。あなたは、デバイス内のセンサーからの機能パイプラインのネイティブ、または取得データを実行するためにインターネットを使用することができます。
5、フラッタフラッタ及びネイティブOCの開発、Javaのインタラクティブ通信-2
プラットフォームチャンネル:私たちは、主にネイティブOC、Javaの双方向コミュニケーションの仕組みとフラッター上の話
だけコールOC、ジャワの通信方向にフラッタイニシアチブを実現します。私は、コールの実装フラッターを終了するにはOC、Javaのイニシアチブを実現していませんでした。ここに追加します。
6、
4、問題/解決策の概要
1、起動ロックを解除するために別のフラッタコマンドを待っています...解决办法
2、リストのデバイスやAndroidのライセンスステータス不明なソリューションへのフラッターは、プロンプトができません。
3、と呼ばれるフラッタ新聞SETSTATE()またはmarkNeedsBuild()ビルド中。 エラー決議
4、リストのデバイスやAndroidのライセンスステータス不明なソリューションへのフラッターは、プロンプトができません。
5、起動ロックを解除するために別のフラッタコマンドを待っています...解决办法
6、フラッタBottomNavigationBarは(白表示)が表示されませんか?
7、AndroidのSDKを見つけることができませんフラッター
8は、水平方向のビューポートは無制限height.widthを与えられました。
9、失敗したアップグレードフラッターSDKの栄光の歴史を覚えています
あなたが他の品質フラッターボーエンを見つけた場合は、この記事でコメントを共有リンクに歓迎し、著者は来るために連結の範囲に含まれています!