avoid_keyboard 0.3.0 copy "avoid_keyboard: ^0.3.0" to clipboard
avoid_keyboard: ^0.3.0 copied to clipboard

This package enables convenient keyboard avoidance. It can be used to enable keyboard avoidance for specific view regions, without compressing the entire view.

example/lib/main.dart

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

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Avoid Keyboard Example',
      theme: ThemeData.dark(),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(title: Text("Avoid Keyboard Example")),
        body: AvoidKeyboardExample(),
        resizeToAvoidBottomInset: false,
      ),
    );
  }
}

class AvoidKeyboardExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return AvoidKeyboard(
      spacing: 40,
      child: Container(
        padding: EdgeInsets.all(30),
        child: FocusTraversalGroup(
          policy: OrderedTraversalPolicy(),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: [
              exampleField(
                color: Colors.blue,
                action: TextInputAction.next,
                order: 0,
              ),
              exampleField(
                color: Colors.purple[200],
                action: TextInputAction.next,
                order: 1,
              ),
              exampleField(
                color: Colors.red[200],
                action: TextInputAction.next,
                order: 2,
              ),
              exampleField(
                color: Colors.orange[200],
                action: TextInputAction.next,
                order: 3,
              ),
              exampleField(
                color: Colors.yellow[100],
                order: 4,
              ),
            ],
          ),
        ),
      ),
    );
  }

  Widget exampleField({
    TextInputAction? action,
    Color? color,
    bool? autocorrect,
    double? order,
  }) {
    return Container(
      decoration: BoxDecoration(
        color: color,
        borderRadius: BorderRadius.circular(10),
      ),
      child: FocusTraversalOrder(
        order: NumericFocusOrder(order ?? 0),
        child: TextField(
          cursorColor: Colors.white,
          decoration: InputDecoration(
            contentPadding: EdgeInsets.only(left: 10),
            focusedBorder: InputBorder.none,
            disabledBorder: InputBorder.none,
            border: InputBorder.none,
          ),
          autocorrect: autocorrect ?? true,
          textInputAction: action,
        ),
      ),
    );
  }
}
copied to clipboard
25
likes
150
points
1.07k
downloads

Publisher

unverified uploader

Weekly Downloads

2024.09.23 - 2025.04.07

This package enables convenient keyboard avoidance. It can be used to enable keyboard avoidance for specific view regions, without compressing the entire view.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

after_layout, flutter

More

Packages that depend on avoid_keyboard