unite_keyboard_visibility 0.1.1 copy "unite_keyboard_visibility: ^0.1.1" to clipboard
unite_keyboard_visibility: ^0.1.1 copied to clipboard

A Flutter plugin to detect keyboard visibility across platforms using modern APIs. Supports floating keyboard and Android 15 predictive back gesture.

example/lib/main.dart

import 'dart:async';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:logger/logger.dart';
import 'package:unite_keyboard_visibility/unite_keyboard_visibility.dart';

// Example app logger.
final logger = Logger(
  printer: PrettyPrinter(methodCount: 1, printEmojis: false),
);

void main() async {
  PlatformDispatcher.instance.onError = (error, stack) {
    logger.e('Unhandled platform error', error: error, stackTrace: stack);
    return true;
  };

  WidgetsFlutterBinding.ensureInitialized();
  await UniteKeyboardVisibility.instance.initialize(enableLogging: true);

  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  late final StreamSubscription _visibilitySub;
  KeyboardVisibilityStatus? _visibilityStatus;

  @override
  void initState() {
    super.initState();

    // Listen to keyboard visibility change events
    _visibilitySub = UniteKeyboardVisibility.instance.valueStream.listen((
      visible,
    ) {
      setState(() {
        _visibilityStatus = visible;
      });
      logger.i('Keyboard visibility changed: $visible');
    });
  }

  @override
  void dispose() {
    _visibilitySub.cancel();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text('Unite Keyboard Visibility Example')),
        body: Column(
          children: [
            const SizedBox(height: 16),
            Text(
              '${_visibilityStatus?.name}',
              style: Theme.of(
                context,
              ).textTheme.titleLarge?.copyWith(fontWeight: FontWeight.bold),
            ),
            const SizedBox(height: 32),
            Padding(
              padding: const EdgeInsets.symmetric(horizontal: 16),
              child: TextField(
                decoration: InputDecoration(
                  labelText: 'Press here',
                  border: OutlineInputBorder(),
                ),
              ),
            ),
            const SizedBox(height: 32),
            ElevatedButton(
              onPressed: () {
                FocusScope.of(context).unfocus();
              },
              child: Text('Unfocus'),
            ),
          ],
        ),
      ),
    );
  }
}
0
likes
0
points
14
downloads

Publisher

verified publishervinhngt.dev

Weekly Downloads

A Flutter plugin to detect keyboard visibility across platforms using modern APIs. Supports floating keyboard and Android 15 predictive back gesture.

Repository (GitHub)
View/report issues

Topics

#software-keyboard #keyboard

License

unknown (license)

Dependencies

dart_mappable, flutter, flutter_keyboard_visibility_temp_fork, logger, meta, plugin_platform_interface, rxdart

More

Packages that depend on unite_keyboard_visibility

Packages that implement unite_keyboard_visibility