플러터:키보드 입력
보이기
- 플러터:개요
- 플러터:실행
- 플러터:개념 잡기
- 권한 사용
- 위젯
- 플러터:DB연결
- 플러터:Firebase(미완)
- 플러터:MySQL(미완)
- 디자인
- 플러터:배포
- 플러터:참고자료
- 플러터:위젯
- 플러터:라이브러리
개요
텍스트나 숫자 등을 입력하는 form에 대하여.
TextEditingController를 사용한 입력
단순하게 onChanged 를 이용하여 텍스트를 다룰 수도 있지만, 일반적으로 폼처럼 사용하기 위해서 TextEditingController를 사용한다.
단순한 예시
return MaterialApp(
home: Scaffold(
body: Column(
children: [
TextField(
onChanged: (v) {
setState(() {
text = v;
});
},
),
Text(text),
],
),
),
);
TextEditingController 예시
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final controller = TextEditingController();
@override
void initState() {
super.initState();
controller.addListener(() {
setState(() {}); // 입력될 때마다 화면 다시 그림
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Column(
children: [
TextField(controller: controller),
Text(controller.text),
],
),
),
);
}
}
추가 설명은 필요 없을 정도로 간결하다.
입력 폼 꾸미기
TextField 안에 속성들이 참 많다. 대표적인 것은 다음과 같다.
| 대분류 | 속성 | 설명 | 비고 |
|---|---|---|---|
| 입력 관련 |
|
||