TextField class – material library – Dart API
API docs for the TextField class from the material library, for the Dart programming language.
lib/my_app.dart
import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:my_app_01/my_first_page.dart'; import 'package:my_app_01/my_home_page.dart'; class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: AppLocalizations.supportedLocales, theme: ThemeData( primarySwatch: Colors.blue, ), home: DefaultTabController( length: 3, child: Scaffold( appBar: AppBar( bottom: const TabBar( tabs: [ Tab(icon: Icon(Icons.looks_one)), Tab(icon: Icon(Icons.looks_two)), Tab(icon: Icon(Icons.looks_3)), ], ), title: const Text('Tabs Demo'), ), body: const TabBarView( children: [ MyFirstPage(), Icon(Icons.looks_two), MyHomePage(title: 'Flutter Demo Home Page'), ], ), ), ), ); } }
lib/my_first_page.dart
import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class MyFirstPage extends StatefulWidget { const MyFirstPage({Key? key}) : super(key: key); @override State<MyFirstPage> createState() => _MyFirstPageState(); } class _MyFirstPageState extends State<MyFirstPage> { late TextEditingController _controller; @override void initState() { super.initState(); _controller = TextEditingController(); } @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(AppLocalizations.of(context)!.firstPage), ), body: Container( padding: const EdgeInsets.all(8), child: Column( children: <Widget>[ const Text('First Page'), TextField( controller: _controller, onSubmitted: (String value) async { await showDialog<void>( context: context, builder: (BuildContext context) { return AlertDialog( title: const Text('Title'), content: Text( '"$value", which has length ${value.characters.length}.'), actions: <Widget>[ TextButton( onPressed: () { Navigator.pop(context); }, child: const Text('OK'), ), ], ); }, ); }, ), ], ), ), ); } }
lib/l10n/app_en.arb
{ "helloWorld": "Hello World!", "@helloWorld": { "description": "The conventional newborn programmer greeting" }, "firstPage": "First Page","@firstPage": {"description": "First Page Title"} }
lib/l10n/app_ja.arb
{ "helloWorld": "こんにちは。", "firstPage": "最初のページ" }