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.