How to Make Multi Line TextField Input like TextArea in Flutter

In this example, we are going to show you how to expand TextField to multi-line like textarea in HTML. TextArea are important components that are used to enter long inputs. 

TextField(
  keyboardType: TextInputType.multiline,
  maxLines: 4  
)

TextInputType.multiline will set Keyboard type with line break button, and 4 is a standard number of line that looks exactly like textarea in HTML.

import 'package:flutter/material.dart';

void main() {
  runApp( MaterialApp(
       home: Home()
  ));
}

class Home extends  StatefulWidget {
  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> {

  TextEditingController textarea = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
         appBar: AppBar(
            title: Text("Multi Line TextField"),
            backgroundColor: Colors.redAccent,
         ),
          body: Container(
             alignment: Alignment.center,
             padding: EdgeInsets.all(20),
             child: Column(
               children: [
                   TextField(
                      controller: textarea,
                      keyboardType: TextInputType.multiline,
                      maxLines: 4,
                      decoration: InputDecoration( 
                         hintText: "Enter Remarks",
                         focusedBorder: OutlineInputBorder(
                            borderSide: BorderSide(width: 1, color: Colors.redAccent)
                         )
                      ),
                       
                   ),

                   ElevatedButton(
                     onPressed: (){
                         print(textarea.text);
                     }, 
                     child: Text("Get TextField Value")
                    )
               ],
             ),
          )
      );
  }
}

In this way, you can make TextField multi-line that looks like TextArea in Flutter.

No any Comments on this Article


Please Wait...