Kategorien, Pakete und Repositories suchen

Cover von mentionable_text_field
Paketdetailsv0.0.2

mentionable_text_field

Ein Flutter-Plugin zum Erstellen anpassbarer Textfelder mit Erwähnungsfunktion. Die Art und Weise, wie übereinstimmende Benutzer angezeigt und ausgewählt werden, ist vom Widget selbst entkoppelt, sodass Sie die gewünschte Methode frei wählen können.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
267
Likes
35
Pub-Punkte
130

Paket installieren

flutter pub add mentionable_text_field

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein anpassbarer Flutter-Textfeld-Plugin, der die Erwähnungsfunktion ermöglicht und Benutzern erlaubt, andere innerhalb von Text zu markieren. Er trennt die Logik zur Erkennung und Anzeige von Erwähnungen von der Benutzeroberfläche und bietet Flexibilität bei der Darstellung und Auswahl von Vorschlägen. Ideal für Chat- oder Social-Apps, unterstützt mehrere Plattformen wie Android, iOS, Web, macOS, Windows und Linux. Der Plugin ist für Entwickler konzipiert, die volle Kontrolle über das Erwähnungserlebnis haben möchten, ohne an ein bestimmtes UI-Komponente gebunden zu sein.

Anwendungsfälle

  • Chat-Anwendungen
  • Soziale Medien-Plattformen
  • Kooperationseditoren
  • Benutzermarkierung in Kommentaren
  • Echtzeit-Messaging-Schnittstellen
  • Inhaltscreation mit Erwähnungen

Hauptmerkmale

  • Entkoppelte Anzeige und Auswahl von Erwähnungen
  • Anpassbare Vorschlags-Oberfläche
  • Plattformübergreifende Unterstützung
  • Erweiterbare Übereinstimmungslogik
  • Konfigurierbare Auslösezeichen
  • Integrationstaugliches Design

Geeignet für

  • Entwickler, die reichhaltige Texteingabe erstellen
  • Apps, die Benutzermarkierung erfordern
  • Teams, die flexible Erwähnungssysteme benötigen
  • Projekte mit benutzerdefinierten UI-Anforderungen
  • Flutter-Anwendungen für mehrere Plattformen

Hinweise

  • Benötigt benutzerdefinierte Implementierung für die Vorschlagsdarstellung
  • Kann zusätzliche Zustandsverwaltung erfordern
  • Nicht geeignet für einfache Texteingaben
  • Hängt von externer Logik für die Benutzerübereinstimmung ab
  • Begrenzte integrierte Stiloptionen
  • Erfordert sorgfältige Behandlung von Textcursor und Auswahl

Original-README

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

mentionable_text_field

A flutter plugin to create customizable text field that has a mentionable feature.

Installing:

In your pubspec.yaml

dependencies:
  mentionable_text_field: ^0.0.2
import 'package:mentionable_text_field/mentionable_text_field.dart';


Basic Usage:

    class _MyHomePageState extends State<MyHomePage> {
  List<Mentionable> _mentionableUsers = [];
  late void Function(Mentionable mentionable) _onSelectMention;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: SafeArea(
        child: Stack(
          children: [
            Positioned(
              bottom: 0,
              width: MediaQuery.of(context).size.width,
              height: 200,
              child: Column(
                children: [
                  MentionableTextField(
                    onControllerReady: (value) =>
                    _onSelectMention = value.pickMentionable,
                    maxLines: 1,
                    onSubmitted: print,
                    mentionables: const [
                      MyUser('John Doe'),
                      MyUser('Jeanne Aulas'),
                      MyUser('Alexandre Dumas')
                    ],
                    onMentionablesChanged: (mentionableUsers) =>
                        setState(() => _mentionableUsers = mentionableUsers),
                    decoration:
                    const InputDecoration(hintText: 'Type something ...'),
                  ),
                  Expanded(
                    child: ListView.builder(
                      itemBuilder: (context, index) {
                        final mentionable = _mentionableUsers[index];
                        return ListTile(
                          leading: const Icon(Icons.person),
                          title: Text(mentionable.label),
                          onTap: () => _onSelectMention(mentionable),
                        );
                      },
                      itemCount: _mentionableUsers.length,
                    ),
                  )
                ],
              ),
            )
          ],
        ),
      ),
    );
  }
}



Custom usage

In addition to basic textField's attributes, There are other options:\

Properties Description
ValueChanged<MentionTextEditingController>? onControllerReady A callback to retrieve the TextField controller when ready
List<Mentionable> mentionables List of possible Mentionable objects, eg: users.
String escapingMentionCharacter The character used to replace mention. It should not be used by the user to avoid issues. It should be a single character.
MentionablesChangedCallback onMentionablesChanged Callback that is called on each new characters typed in TextField. It gives the current candidates to mention feature.
TextStyle mentionStyle Text Style applied to mentions

Additional information

Don't hesitate to suggest any features or fix that will improve the package!

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.