Text goes out of TextFormField - Flutter

Faced such a problem that when I create a task and add 2 or more fields to it, then when transferring this text to another screen, it climbs out of the text field. I can't figure out what to do to fix the error. Hide extra text or increase the size of the TextFormField under the text. Please tell me how to solve this problem? Thank you.

edit_todo

class EditTodoScreen extends StatelessWidget {
  final Todo todo;
  EditTodoScreen({Key? key, required this.todo}) : super(key: key);

  final _controller = TextEditingController();

  @override
  Widget build(BuildContext context) {
    _controller.text = todo.description;

    return BlocBuilder<TodoBloc, TodoState>(builder: (context, state) {
      return Scaffold(
        appBar: AppBar(
          title: const Text(
            'Edit Todo',
            style: TextStyle(fontSize: 20.0),
          ),
        ),
        body: _body(context),
      );
    });
  }

  Widget _body(context) {
    return Padding(
      padding: const EdgeInsets.all(20.0),
      child: Column(
        children: [
          TextFormField(
            controller: _controller,
            autocorrect: true,
            decoration: const InputDecoration(hintText: 'Enter todo message'),
          ),
          const SizedBox(
            height: 10.0,
          ),
          InkWell(
            onTap: () {
              // BlocProvider.of<TodoBloc>(context)
              //     .add(UpdateTodos(Todo(description: _todoName)));
              final updateTodo = Todo(description: _controller.text);
              BlocProvider.of<TodoBloc>(context).add(
                UpdateTodos(
                  updateTodo,
                  // _controller.text,
                ),
              );
              Navigator.pop(context);
            },
            child: _updateBtn(context),
          )
        ],
      ),
    );
  }

 Widget _updateBtn(context) {
    return Container(
      width: MediaQuery.of(context).size.width,
      height: 50.0,
      decoration: BoxDecoration(
          color: Colors.black, borderRadius: BorderRadius.circular(10.0)),
      child: Center(
        child: Text(
          'Update Todo',
          style: TextStyle(
              fontSize: 17.0,
              color: Colors.amber.shade700,
              fontWeight: FontWeight.bold),
        ),
      ),
    );
  }

todo_list

onTap: () {
                      Navigator.push(
                        context,
                        MaterialPageRoute(
                          builder: (context) => EditTodoScreen(
                            todo: state.loadedUser[index],
                          ),
                        ),
                      );
                    },

enter image description here

enter image description here


You could define max and min lines for TextFormField. I've used max lines of two here. Use whatever you find best for your case. If there are more lines than the maximum you've defined it will become scrollable.

TextFormField(
    controller: _controller,
    autocorrect: true,
    decoration: const InputDecoration(
        hintText: 'Enter todo message',
    ),
    maxLines: 2,
    minLines: 1,
),