### Flutter Keyboard Visibility Example Source: https://pub.dev/packages/flutter_keyboard_visibility/example This example demonstrates how to use the flutter_keyboard_visibility plugin in a Flutter application. It shows how to display text indicating whether the keyboard is visible or not, and provides navigation to other demo pages for provider and keyboard dismissal functionalities. It requires the flutter package and the flutter_keyboard_visibility plugin. ```dart import 'package:flutter/material.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'package:flutter_keyboard_visibility_example/keyboard_dismiss_demo.dart'; import 'package:flutter_keyboard_visibility_example/provider_demo.dart'; void main() { runApp(App()); } class App extends StatelessWidget { const App({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( home: Demo(), ); } } class Demo extends StatelessWidget { @override Widget build(BuildContext context) { return KeyboardDismissOnTap( child: Scaffold( appBar: AppBar( title: Text('Keyboard Visibility Example'), ), body: Center( child: Padding( padding: EdgeInsets.all(24.0), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => ProviderDemo()), ); }, child: Text('Provider Demo'), ), ElevatedButton( onPressed: () { Navigator.push( context, MaterialPageRoute( builder: (context) => KeyboardDismissDemo()), ); }, child: Text('KeyboardDismiss Demo'), ), Spacer(), TextField( keyboardType: TextInputType.text, decoration: InputDecoration( labelText: 'Input box for keyboard test', ), ), Container(height: 60.0), KeyboardVisibilityBuilder(builder: (context, visible) { return Text( 'The keyboard is: ${visible ? 'VISIBLE' : 'NOT VISIBLE'}', ); }), Spacer(), ], ), ), ), ), ); } } ``` -------------------------------- ### Add flutter_keyboard_visibility Dependency Source: https://pub.dev/packages/flutter_keyboard_visibility/install This command adds the flutter_keyboard_visibility package as a dependency to your Flutter project. It automatically updates your pubspec.yaml file and runs `flutter pub get`. ```bash flutter pub add flutter_keyboard_visibility ``` -------------------------------- ### Add flutter_keyboard_visibility_web Dependency (Flutter CLI) Source: https://pub.dev/packages/flutter_keyboard_visibility_web/install This command adds the flutter_keyboard_visibility_web package as a dependency to your Flutter project using the Flutter CLI. It automatically updates your pubspec.yaml file and runs `flutter pub get`. ```bash $ flutter pub add flutter_keyboard_visibility_web ``` -------------------------------- ### Add flutter_keyboard_visibility_linux Dependency Source: https://pub.dev/packages/flutter_keyboard_visibility_linux/install This command adds the flutter_keyboard_visibility_linux package as a dependency to your Flutter project. It automatically updates your pubspec.yaml file and runs `flutter pub get`. ```bash $ flutter pub add flutter_keyboard_visibility_linux ``` -------------------------------- ### Add flutter_keyboard_visibility_windows Dependency Source: https://pub.dev/packages/flutter_keyboard_visibility_windows/install This command adds the flutter_keyboard_visibility_windows package as a dependency to your Flutter project. It automatically updates your pubspec.yaml file and runs `flutter pub get`. ```bash flutter pub add flutter_keyboard_visibility_windows ``` -------------------------------- ### Add flutter_keyboard_visibility_macos Dependency Source: https://pub.dev/packages/flutter_keyboard_visibility_macos/install This command adds the flutter_keyboard_visibility_macos package as a dependency to your Flutter project. It automatically updates your pubspec.yaml file and runs `flutter pub get`. ```bash flutter pub add flutter_keyboard_visibility_macos ``` -------------------------------- ### Add flutter_keyboard_visibility_macos to pubspec.yaml Source: https://pub.dev/packages/flutter_keyboard_visibility_macos/install This snippet shows how to manually add the flutter_keyboard_visibility_macos package to your project's pubspec.yaml file. After adding this line, run `flutter pub get` to fetch the package. ```yaml dependencies: flutter_keyboard_visibility_macos: ^1.0.0 ``` -------------------------------- ### Provide Keyboard Visibility State in Widget Tree (Flutter) Source: https://pub.dev/packages/flutter_keyboard_visibility This example shows how to make the keyboard visibility state available throughout your widget tree using `KeyboardVisibilityProvider`. Widgets lower in the tree can then access this state to conditionally render UI elements. ```dart import 'package:flutter/material.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; // Somewhere near the top of your tree... @override Widget build(BuildContext context) { return KeyboardVisibilityProvider( child: MyDemoPage(), ); } // Within MyDemoPage... @override Widget build(BuildContext context) { final bool isKeyboardVisible = KeyboardVisibilityProvider.isKeyboardVisible(context); return Text( 'The keyboard is: ${isKeyboardVisible ? 'VISIBLE' : 'NOT VISIBLE'}', ); } ``` -------------------------------- ### Dismiss Keyboard on Tap Outside Interactive Widgets (Flutter) Source: https://pub.dev/packages/flutter_keyboard_visibility This example shows how to automatically dismiss the soft keyboard when a user taps outside of a focused interactive widget. This is achieved by wrapping your widget tree with `KeyboardDismissOnTap`. ```dart import 'package:flutter/material.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; // Somewhere near the top of your tree... @override Widget build(BuildContext context) { return KeyboardDismissOnTap( child: MyDemoPage(), ); } ``` -------------------------------- ### Test Keyboard Visibility with Mocks Source: https://pub.dev/packages/flutter_keyboard_visibility Demonstrates how to test keyboard visibility using mock objects for `KeyboardVisibilityController`. This allows for controlled testing of `KeyboardVisibilityProvider` and `KeyboardVisibilityBuilder` by simulating keyboard visibility states. ```dart @GenerateMocks([KeyboardVisibilityController]) void main() { testWidgets('It reports true when the keyboard is visible', (WidgetTester tester) async { // Pretend that the keyboard is visible. var mockController = MockKeyboardVisibilityController(); when(mockController.onChange) .thenAnswer((_) => Stream.fromIterable([true])); when(mockController.isVisible).thenAnswer((_) => true); // Build a Widget tree and query KeyboardVisibilityProvider // for the visibility of the keyboard. bool? isKeyboardVisible; await tester.pumpWidget( KeyboardVisibilityProvider( controller: mockController, child: Builder( builder: (BuildContext context) { isKeyboardVisible = KeyboardVisibilityProvider.isKeyboardVisible(context); return SizedBox(); }, ), ), ); // Verify that KeyboardVisibilityProvider reported that the // keyboard is visible. expect(isKeyboardVisible, true); }); } ``` -------------------------------- ### Import flutter_keyboard_visibility_windows in Dart Source: https://pub.dev/packages/flutter_keyboard_visibility_windows/install This Dart import statement allows you to use the functionalities provided by the flutter_keyboard_visibility_windows package in your project. Ensure the package is added as a dependency before importing. ```dart import 'package:flutter_keyboard_visibility_windows/flutter_keyboard_visibility_windows.dart'; ``` -------------------------------- ### Import flutter_keyboard_visibility in Dart Source: https://pub.dev/packages/flutter_keyboard_visibility/install This import statement allows you to use the functionalities provided by the flutter_keyboard_visibility package in your Dart code. Ensure the package is added as a dependency first. ```dart import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; ``` -------------------------------- ### Import flutter_keyboard_visibility_linux in Dart Source: https://pub.dev/packages/flutter_keyboard_visibility_linux/install This import statement allows you to use the functionalities provided by the flutter_keyboard_visibility_linux package in your Dart code. Ensure the package is added as a dependency before importing. ```dart import 'package:flutter_keyboard_visibility_linux/flutter_keyboard_visibility_linux.dart'; ``` -------------------------------- ### Import flutter_keyboard_visibility_web in Dart Code Source: https://pub.dev/packages/flutter_keyboard_visibility_web/install This import statement is used in Dart files to access the functionalities provided by the flutter_keyboard_visibility_web package. It allows developers to integrate keyboard visibility features into their Flutter web applications. ```dart import 'package:flutter_keyboard_visibility_web/flutter_keyboard_visibility_web.dart'; ``` -------------------------------- ### Declare flutter_keyboard_visibility_web Dependency in pubspec.yaml Source: https://pub.dev/packages/flutter_keyboard_visibility_web/install This snippet shows how the flutter_keyboard_visibility_web dependency is declared in a Flutter project's pubspec.yaml file. This declaration ensures the package is included in the project's build. ```yaml dependencies: flutter_keyboard_visibility_web: ^2.0.0 ``` -------------------------------- ### Build Widget Tree Based on Keyboard Visibility (Flutter) Source: https://pub.dev/packages/flutter_keyboard_visibility This snippet demonstrates how to build your Flutter widget tree dynamically based on the keyboard's visibility state using `KeyboardVisibilityBuilder`. It's a declarative way to adapt your UI when the keyboard appears or disappears. ```dart import 'package:flutter/material.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; /// In any of your widgets... @override Widget build(BuildContext context) { return KeyboardVisibilityBuilder( builder: (context, isKeyboardVisible) { return Text( 'The keyboard is: ${isKeyboardVisible ? 'VISIBLE' : 'NOT VISIBLE'}', ); } ); } ``` -------------------------------- ### Directly Query and Subscribe to Keyboard Visibility (Flutter) Source: https://pub.dev/packages/flutter_keyboard_visibility This snippet illustrates how to directly interact with the keyboard's visibility state using `KeyboardVisibilityController`. You can query the current state or subscribe to a stream of visibility changes for real-time updates. ```dart import 'package:flutter/material.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; import 'dart:async'; late StreamSubscription keyboardSubscription; @override void initState() { super.initState(); var keyboardVisibilityController = KeyboardVisibilityController(); // Query print('Keyboard visibility direct query: ${keyboardVisibilityController.isVisible}'); // Subscribe keyboardSubscription = keyboardVisibilityController.onChange.listen((bool visible) { print('Keyboard visibility update. Is visible: $visible'); }); } @override void dispose() { keyboardSubscription.cancel(); super.dispose(); } ``` -------------------------------- ### Import flutter_keyboard_visibility_macos in Dart Source: https://pub.dev/packages/flutter_keyboard_visibility_macos/install This import statement allows you to use the functionalities provided by the flutter_keyboard_visibility_macos package in your Dart code. Ensure the package is added as a dependency first. ```dart import 'package:flutter_keyboard_visibility_macos/flutter_keyboard_visibility_macos.dart'; ``` -------------------------------- ### Override Keyboard Visibility for Testing Source: https://pub.dev/packages/flutter_keyboard_visibility Shows how to globally override the keyboard visibility state for testing purposes using `KeyboardVisibilityTesting.setVisibilityForTesting`. This method is useful for setting a specific keyboard state during `flutter test` runs, bypassing native platform logic. ```dart void main() { testWidgets('My Test', (WidgetTester tester) async { KeyboardVisibilityTesting.setVisibilityForTesting(true); await tester.pumpWidget(MyApp()); }); } ``` -------------------------------- ### Dismiss Keyboard on Any Tap (Flutter) Source: https://pub.dev/packages/flutter_keyboard_visibility This snippet demonstrates how to configure `KeyboardDismissOnTap` to dismiss the keyboard on any tap within its child widgets, regardless of whether the tap occurs on an interactive element. Set `dismissOnCapturedTaps` to `true` to enable this behavior. ```dart import 'package:flutter/material.dart'; import 'package:flutter_keyboard_visibility/flutter_keyboard_visibility.dart'; // Somewhere near the top of your tree... @override Widget build(BuildContext context) { return KeyboardDismissOnTap( dismissOnCapturedTaps: true, child: MyDemoPage(), ); } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.