Typing Aware Field

A Flutter package that provides a TypingAwareTextFormField widget to detect user typing. This widget notifies you when the user starts or stops typing, making it ideal for real-time feedback or validation.

Features

  • Detects when the user starts typing.
  • Detects when the user stops typing (after a customizable timeout).
  • Works on Android, iOS, and Web.
  • Easy to integrate with existing TextFormField or TextField widgets.

Installation

Add the following to your pubspec.yaml:

dependencies:
  typing_aware_field: ^1.0.0

Then run:

flutter pub get

Usage

Basic Example

Here’s how to use the TypingAwareTextFormField widget:

import 'package:flutter/material.dart';
import 'package:typing_aware_field/typing_aware_field.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: TypingAwareTextFormField(
            onTyping: (isTyping) {
              print('User is typing: $isTyping');
            },
            decoration: InputDecoration(
              labelText: 'Type something...',
              border: OutlineInputBorder(),
            ),
            validator: (value) {
              if (value == null || value.isEmpty) {
                return 'Please enter some text';
              }
              return null;
            },
          ),
        ),
      ),
    );
  }
}

Custom Timeout

You can customize the typing timeout (default is 1 second):

TypingAwareTextFormField(
  onTyping: (isTyping) {
    print('User is typing: $isTyping');
  },
  typingTimeout: Duration(milliseconds: 1500), // 1.5 seconds
)

Listening to Typing Events

You can listen to typing events using the onTyping callback:

TypingAwareTextFormField(
  onTyping: (isTyping) {
    print('User is typing: $isTyping');
  },
)

Screenshots

Here’s a screenshot of the TypingAwareTextFormField in action:

typing textfield flutter

Platform Support

This package works on:

  • Android
  • iOS
  • Web

Contributing

Contributions are welcome! If you find a bug or want to suggest a feature, please open an issue on the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Libraries

typing_aware_field