rich_text_controller
一個擴展的文字編輯控制器,支援為自訂正則表達式模式設定不同的內嵌樣式。
一個擴展的文本編輯控制器,支援為自訂正則表達式設定不同的內嵌樣式
{"sdk":"flutter"}{"sdk":"flutter"}^5.0.0以下為英文專案原文快照,最新內容請造訪 GitHub。
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.
pubspec.yaml file:dependencies:
rich_text_controller: ^[latest_version]
flutter pub get
import 'package:rich_text_controller/rich_text_controller.dart';
Here's a quick example of how to use RichTextController to style specific patterns in a TextField:
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()),
),
),
),
),
);
}
}
Contributions are always welcome! Here’s how you can help:
Licensed under the MIT License. You are free to use, modify, and distribute this package. See the LICENSE.md file for details.