Pakete, Repositories und App-Kategorien suchen

Cover von flutter_persistent_keyboard_height
Paketdetailsv1.0.5

flutter_persistent_keyboard_height

Flutter-Paket zur Ermittlung der Tastaturhöhe. Kann verwendet werden, um ein Aufkleber-/Emoji-Modal mit korrekter Höhe anzuzeigen.

AndroidiOS
30-Tage-Downloads
52
Likes
33
Pub-Punkte
150

Paket installieren

flutter pub add flutter_persistent_keyboard_height

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein Flutter-Paket, das die Höhe der auf dem Bildschirm angezeigten Tastatur dauerhaft bereitstellt und somit präzise Anpassungen der Benutzeroberfläche ermöglicht. Es ist besonders nützlich, um Elemente wie Aufkleber- oder Emoji-Modals relativ zur Tastatur zu positionieren. Das Paket funktioniert sowohl unter Android als auch unter iOS und gewährleistet konsistentes Verhalten. Es überwacht Änderungen im Tastaturstatus und macht die aktuelle Höhe über einen Stream verfügbar, was die Integration in responsive Layouts erleichtert.

Anwendungsfälle

  • Anpassen der Benutzeroberfläche, wenn die Tastatur erscheint
  • Modals über der Tastatur positionieren
  • Sicherstellen, dass der Inhalt während der Eingabe sichtbar bleibt
  • Erstellen von Chat-Oberflächen mit dynamischen Eingabebereichen
  • Formulare mit Echtzeit-Tastaturbewusstsein erstellen

Hauptmerkmale

  • Echtzeit-Überwachung der Tastaturhöhe
  • Plattformübergreifende Unterstützung (Android & iOS)
  • Stream-basierte API für reaktive Updates
  • Minimale Einrichtung und Integration
  • Genauige Höhenbestimmung auch während Animation

Geeignet für

  • Chat-App-Entwickler
  • Formularbaukästen
  • UI-Komponenten, die eine Tastaturbewusstheit erfordern
  • Entwickler, die eingabehaltige Schnittstellen erstellen
  • Apps mit Fließenden Aktionstasten nahe der Tastatur

Hinweise

  • Erforderlich ist die ordnungsgemäße Bereinigung von Streams, um Speicherlecks zu vermeiden
  • Möglicherweise ist zusätzliche Logik für Randfälle wie getrennte Tastaturen erforderlich
  • Nicht geeignet für Szenarien mit statischer Tastaturhöhe
  • Abhängig von plattformspezifischen Tastaturereignissen
  • Soll auf mehreren Geräten und OS-Versionen getestet werden

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

flutter_persistent_keyboard_height Pub version

Flutter package to get keyboard height. The height is persisted during app sessions and keyboard states (you can use the height when keyboard is closed).

Usage

Registering the provider

First thing you need to do is wrap a widget from children of which you want to get the keyboard height with PersistentKeyboardHeightProvider. Add it to the builder of your app widget (perhaps MaterialApp) if you want to get keyboard height from all widgets.

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Persistent Keyboard Height Example',
      home: const FlutterPersistentKeyboardHeightExample(),
      builder: (context, child) => PersistentKeyboardHeightProvider(
        child: child!,
      ),
    );
  }
}
Getting the keyboard height

In order to get keyboard height use the PersistentKeyboardHeight inherited widget:

Widget build(BuildContext context) {
  final keyboardHeight = PersistentKeyboardHeight.of(context).keyboardHeight;

  return Scaffold(
    body: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        const Padding(
          padding: EdgeInsets.all(16.0),
          child: TextField(
            decoration: InputDecoration(
              labelText: 'Flutter Persistent Keyboard Size Example',
            ),
          ),
        ),
        const SizedBox(height: 8),
        Text('Keyboard height: $keyboardHeight'),
      ],
    ),
  );
}
Using a custom storage provider

By default, the package uses shared_preferences to preserve the keyboard height but if you want to use a custom solution for preserving the height you can do that by implementing the IPersistentKeyboardHeightStorageProvider interface and passing an instance of the class to PersistentKeyboardHeightProvider:

class CustomPersistentKeyboardHeightStorageProvider
    implements IPersistentKeyboardHeightStorageProvider {
  const CustomPersistentKeyboardHeightStorageProvider();

  @override
  Future<double> getHeight() {
    // read the height from storage
  }

  @override
  Future<void> setHeight(double height) {
    // save the height to storage
  }
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Persistent Keyboard Height Example',
      home: const FlutterPersistentKeyboardHeightExample(),
      builder: (context, child) => PersistentKeyboardHeightProvider(
        child: child!,
      ),
    );
  }
}

Check out the example directory for a complete example app.

The development process

The first version of this package was developed in two livestreams. Unfortunately, my voice disappeared at the middle of the first livestream but the second livestream is okay. In case you want to check them out, here are the links: Part 1, Part 2.

Thanks to

Kategorien

Abhängigkeiten

Abhängigkeiten 2 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.