フラッシュ学習ノート
4058 ワード
初学Flutter、簡単にメモを取って、リアルタイムで更新します
1.Flutterでのページジャンプ:
あるいはmain.dartでの統合管理
ジャンプが必要な場所で
2.クラス間転送
受信クラス
この値を使用
または、
CustomButtonクラスを使用する場合
3.ブレークポイントデバッグVscodeエディタで、ASと同じ方法でブレークポイントを打った後、F 5を押すと、コードがブレークポイントに実行されると、参考資料が停止します.http://www.jintiankansha.me/t/uCAhjuWVDQ
印刷ログ:print()結果はコンソールDEBUG CONSOLEに印刷されます.
4.非同期操作
説明:Dartは単一スレッド言語であるため、UIスレッドでネットワーク要求を実行してもプログラムがブロックされることはありません.しかし、データが大きすぎる場合は、Isolatesを使用する必要があります.
5.動的表示非表示ビュー
)6.オペレータ
7.ショートカット操作-.エディタにstlを入力すると、自動的にステータスコントロールモジュールが生成され、stfを入力するとステータスコントロールモジュールが正常に生成されます.
8.レイアウト関連1.WidgetとWidgetの間はchildによってネストされている.2.widgetには1つのchildしかないものもあります.複数のchildを使用するには、1つのchildrenを外層に包む必要があります:[]
9.ListTitleレイアウトは使いやすい.https://juejin.im/post/5c88d6c4f265da2de970bc24
10.Android原生受信Flutter伝値中国語文字化けし問題
11.生アクセスFlutterホットリロードTerminalでコマンドラインがflutter_に入るmoduleディレクトリの下に、コマンドflutter attachを入力し、Runに一度アイテムを入力すると、Terminalにr(ホットロード)、R(ホット再起動)を入力できます.
12.Flutterでローカルリソース(ファイル、ピクチャ)を使用するには、まずpubspec.yamlファイルでassetsが必要だと宣言しました.例えば、私のピクチャパスはassets/imagesです.
13.非同期要求と待機、onActivity Result機能の実現
新しいページを開き、新しいページの戻り値を待つ
ページを閉じてResultに戻る
14.右スライドしてページを閉じる
CupertinoPageRouteで開いているサブページを使用すれば、右スライドを1つ上に戻すことができます.
15.ScrollView(ListVIdw)ネストListView問題1).Listview表示不全解決:内部ListViewにshrinkWrapを追加する:true
2).外層スクロールコントロールのスライドリスニングは内部ListViewによって盗まれて解決される:
1.Flutterでのページジャンプ:
onPressed: () {
Navigator.push(context, new MaterialPageRoute(builder: (context)=> new MyScaffold(),)
);
}
あるいはmain.dartでの統合管理
home: MyHomePage(),
//
routes: {
'/LayoutPage':(BuildContext context) =>new LayoutPage(),
},
ジャンプが必要な場所で
Navigator.of(context).pushNamed('/LayoutPage');
2.クラス間転送
new MyFadeTest(title: 'Fade Demo')
受信クラス
final String title;
//
MyFadeTest({Key key, this.title}) : super(key: key);
この値を使用
new Text(widget.title)
または、
final String lable;
CustomButton(this.lable);
@override
Widget build(BuildContext context) {
return new RaisedButton(onPressed: (){},child: new Text(lable));
}
CustomButtonクラスを使用する場合
new CustomButton('Hello')
3.ブレークポイントデバッグVscodeエディタで、ASと同じ方法でブレークポイントを打った後、F 5を押すと、コードがブレークポイントに実行されると、参考資料が停止します.http://www.jintiankansha.me/t/uCAhjuWVDQ
印刷ログ:print()結果はコンソールDEBUG CONSOLEに印刷されます.
4.非同期操作
@override
Widget build(BuildContext context) {
// setState() ,
}
//async await
void loadData() async {
String dataURL = "https://jsonplaceholder.typicode.com/posts";
http.Response response = await http.get(dataURL);
// setState build
setState(() {
List widgets = json.decode(response.body);
});
}
説明:Dartは単一スレッド言語であるため、UIスレッドでネットワーク要求を実行してもプログラムがブロックされることはありません.しかし、データが大きすぎる場合は、Isolatesを使用する必要があります.
5.動的表示非表示ビュー
new Offstage(
// true: false:
offstage: false,
child: new RaisedButton(
child: new Text('fff'),
onPressed: _layout,
),
)6.オペレータ
var i;
init() {
i ?? 999; // i , 999
i ??= 999; // i , i 999
var result = i ~/ 99; //
// result =10
}
7.ショートカット操作-.エディタにstlを入力すると、自動的にステータスコントロールモジュールが生成され、stfを入力するとステータスコントロールモジュールが正常に生成されます.
8.レイアウト関連1.WidgetとWidgetの間はchildによってネストされている.2.widgetには1つのchildしかないものもあります.複数のchildを使用するには、1つのchildrenを外層に包む必要があります:[]
9.ListTitleレイアウトは使いやすい.https://juejin.im/post/5c88d6c4f265da2de970bc24
10.Android原生受信Flutter伝値中国語文字化けし問題
String decodeValue = URLDecoder.decode(value, "UTF-8");
11.生アクセスFlutterホットリロードTerminalでコマンドラインがflutter_に入るmoduleディレクトリの下に、コマンドflutter attachを入力し、Runに一度アイテムを入力すると、Terminalにr(ホットロード)、R(ホット再起動)を入力できます.
12.Flutterでローカルリソース(ファイル、ピクチャ)を使用するには、まずpubspec.yamlファイルでassetsが必要だと宣言しました.例えば、私のピクチャパスはassets/imagesです.
flutter:
uses-material-design: true
assets:
- assets/images/class_default.png
13.非同期要求と待機、onActivity Result機能の実現
新しいページを開き、新しいページの戻り値を待つ
void getResult() async {
var result = await Navigator.push(
context, MaterialPageRoute(builder: (context) => ResultTest()));
print(" ===$result");
}
ページを閉じてResultに戻る
Navigator.pop(context, " ");
14.右スライドしてページを閉じる
CupertinoPageRouteで開いているサブページを使用すれば、右スライドを1つ上に戻すことができます.
Navigator.of(context)
.push(CupertinoPageRoute(builder: (BuildContext context) {
return BottomAppBarDemo();
}));
15.ScrollView(ListVIdw)ネストListView問題1).Listview表示不全解決:内部ListViewにshrinkWrapを追加する:true
2).外層スクロールコントロールのスライドリスニングは内部ListViewによって盗まれて解決される:
Widget getListView(List data) {
//sizeBox
return SizedBox(
child: ListView.builder(
// ScrollView ListView ,ListView
shrinkWrap: true,
//
physics: NeverScrollableScrollPhysics(),
itemCount: data.length,
itemBuilder: (BuildContext context, int position) {
...
},
),
);
}