Pakete, Repositories und App-Kategorien suchen

Paketdetailsv3.0.1

rich_text_controller

Ein erweiterter Textbearbeitungscontroller, der verschiedene Inline-Stile für benutzerdefinierte Regex-Muster unterstützt.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
7920
Likes
104
Pub-Punkte
160

Paket installieren

flutter pub add rich_text_controller

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

rich_text_controller ist ein Flutter/Dart-Paket, das den Standard-Texteingabesteuerung erweitert, um Inline-Styling für Text basierend auf benutzerdefinierten regulären Ausdrücken zu ermöglichen. Es ermöglicht Entwicklern, verschiedene Stile – wie Farben, Schriften oder Dekorationen – spezifischen Mustern innerhalb eines Textfelds, wie Hashtags, Erwähnungen oder Links, zuzuweisen. Ideal für reichhaltige Texteingaben in Messaging-Apps, Notizwerkzeugen oder sozialen Medien-Oberflächen, verbessert es die Benutzererfahrung durch visuelle Unterscheidung strukturierter Inhalte. Das Paket unterstützt alle wichtigen Plattformen und lässt sich nahtlos in bestehende TextEditingController-Arbeitsabläufe integrieren.

Anwendungsfälle

  • Messaging-Apps mit stilisierten Erwähnungen
  • Notiz-Apps mit Syntax-Hervorhebung
  • Soziale-Medien-Textfelder mit Hashtag-Stil
  • Benutzerdefinierte Rich-Text-Editoren
  • Echtzeit-Kooperationsschreibung

Hauptmerkmale

  • Inline-Styling über Regex-Muster
  • Unterstützung für mehrere Stilarten
  • Nahtlose Integration mit TextEditingController
  • Plattformübergreifende Kompatibilität
  • Live-Vorschau von stilisiertem Text
  • konfigurierbare Musterabgleich

Geeignet für

  • Entwickler, die reichhaltige Texteingabefelder erstellen
  • Apps, die dynamische Textformatierung erfordern
  • Projekte mit benutzererzeugtem Inhalt
  • Teams, die regex-basierte Inhaltstags verwenden
  • UIs, die eine visuelle Unterscheidung von Textmustern benötigen

Hinweise

  • Erfordert sorgfältige Regex-Design, um Leistungsprobleme zu vermeiden
  • Kann den Speicherverbrauch bei komplexen Mustern erhöhen
  • Styling-Logik muss über Plattformen hinweg getestet werden
  • Nicht geeignet für die großflächige Dokumentenbearbeitung
  • Eingeschränkte integrierte Vorlagen für häufige Anwendungsfälle

Original-README

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

rich_text_controller

Pub Version License Pub Points

rich_text_controller is an extended text editing controller for Flutter that supports applying different inline styles based on custom regex patterns. This package simplifies text styling and interaction in Flutter applications, making it easy to create feature-rich text inputs.


Table of Contents

  1. Demo
  2. Features
  3. Installation
  4. Usage
  5. Contributing
  6. License

Demo

Demo GIF

Features

  • Custom Regex Styling: Apply styles dynamically to text patterns.
  • Interactive Callbacks: Define actions for user interactions with matched text.
  • Dynamic Updates: Modify regex patterns on the fly without recreating the controller.
  • IME Composition Support: Smooth handling for languages like Japanese and Chinese.
  • Performance Optimizations: Cached regex for better performance.
  • RichWrapper Widget: A widget for seamless integration with the controller.
  • Fine-grained Configuration: Control deletion behavior, styles, and tap actions for specific matches.

Installation

  1. Add the package to your pubspec.yaml file:
dependencies:
  rich_text_controller: ^[latest_version]
  1. Run the following command to install the package:
flutter pub get
  1. Import the package into your Dart file:
import 'package:rich_text_controller/rich_text_controller.dart';

Usage

Here's a quick example of how to use RichTextController to style specific patterns in a TextField:

Example
import 'package:flutter/material.dart';
import 'package:rich_text_controller/rich_text_controller.dart';

defaultTextStyle(BuildContext context) => TextStyle(color: Colors.black);

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('RichTextController Example')),
        body: Center(
          child: Padding(
            padding: const EdgeInsets.all(16.0),
            child: TextField(
              controller: RichTextController(
                text: '',
                onMatch: (match, target) {
                  print('Match found: \$match');
                },
                targetMatches: [
                  MatchTargetItem(
                    textStyle: TextStyle(color: Colors.blue, fontWeight: FontWeight.bold),
                    regex: RegExp(r'#[a-zA-Z0-9_]+'),
                  ),
                  MatchTargetItem(
                    textStyle: TextStyle(color: Colors.green),
                    regex: RegExp(r'@[a-zA-Z0-9_]+'),
                  ),
                ],
              ),
              decoration: InputDecoration(border: OutlineInputBorder()),
            ),
          ),
        ),
      ),
    );
  }
}

Contributing

Contributions are always welcome! Here’s how you can help:

  1. Report bugs or request features via GitHub Issues.
  2. Submit pull requests with well-documented code and examples.
  3. Share your thoughts and ideas to improve the package.

License

Licensed under the MIT License. You are free to use, modify, and distribute this package. See the LICENSE.md file for details.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden