flutter/widget 4

TextFormField

- textfield에서 controller들을 관리하는게 번거로우니 쓰자. - StatefulWidget에서 Form 위젯안에 넣음. - Form위젯에 global 키를 지정하고 후에 validation에서 이 키로 form에 접근 if (_formKey.currentState!.validate()) { _formKey.currentState!.save(); } import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: MyHome(), ..

flutter/widget 2022.05.19

Snackbar 케이스 정리

1. ScaffoldMessenger 이용 ScaffoldMessenger.of(context).showSnackBar(SnackBar( content: Text("스낵바!") )); 2. Global Key & scaffoldMessengerKey 이용 최상위 위젯 MaterialApp단위에서 scaffoldMessenger에 global Key를 사용하여 Snackbar 사용 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); final rootScaffoldKey = GlobalKey(); class MyApp extends StatelessWidget { @override Widget build(BuildContext c..

flutter/widget 2022.05.15

FutureBuilder

- 수행하는데 오래걸리는 일이 있을 때, 시점에 따라서 다른 UI를 보여줄 때 씀. - 매개변수 * future : 수행하는 (오래걸리는) 일 함수(네트워크나 복잡한 계산 등) * builder: (context, _snapshot) .. 상태가 변할 때마다 호출됨. _snapshot.done이면 완료되었다. .. 표시할 위젯을 리턴하자 .. future의 리턴값이 _snapshot.data에 들어있다. 최소 예제 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return ..

flutter/widget 2022.05.14