keyboard_notification 1.0.1 copy "keyboard_notification: ^1.0.1" to clipboard
keyboard_notification: ^1.0.1 copied to clipboard

Keyboard notifications and keyboard-synced animations

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:keyboard_notification/keyboard_animated_builder.dart';

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

class ExampleAnimations extends StatelessWidget {
  const ExampleAnimations({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        resizeToAvoidBottomInset: false,
        appBar: AppBar(title: const Text('Keyboard Animations Example')),
        body: SafeArea(
          top: true,
          bottom: true,
          child: Padding(
            padding: const EdgeInsets.symmetric(horizontal: 16.0),
            child: Stack(
              children: [
                Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    TextField(
                      onTapOutside:
                          (details) =>
                              FocusManager.instance.primaryFocus?.unfocus(),
                      decoration: InputDecoration(
                        labelText: "Tap to trigger keyboard",
                      ),
                    ),
                    Text(
                      'Screen height: ${MediaQuery.of(context).size.height}',
                    ),
                    KeyboardAnimatedBuilder(
                      builder: (context, keyboard, child) {
                        return Column(
                          crossAxisAlignment: CrossAxisAlignment.start,
                          children: [
                            Text(
                              'Keyboard:\n\t\theight: ${keyboard.height}\n\t\ttotal height: ${keyboard.totalHeight}',
                            ),
                            Text(
                              '\t\tvisibility: ${keyboard.visibility}',
                              semanticsLabel: 'visibility',
                            ),
                          ],
                        );
                      },
                    ),
                  ],
                ),

                KeyboardAnimatedBuilder(
                  builder: (context, keyboard, child) {
                    return Positioned(
                      bottom: (keyboard.totalHeight + 20) * keyboard.visibility,
                      left: 0,
                      right: 0,
                      child: Opacity(
                        opacity: keyboard.visibility,
                        child: Container(
                          height: 40,
                          color: Colors.lightBlueAccent,
                          child: Center(child: Text('Toolbar')),
                        ),
                      ),
                    );
                  },
                ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
0
likes
160
points
28
downloads

Publisher

unverified uploader

Weekly Downloads

Keyboard notifications and keyboard-synced animations

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on keyboard_notification

Packages that implement keyboard_notification