# load packages
library(gtsummary)
theme_gtsummary_compact()
# build model
mod <- lm(Petal.Width ~ Species + Petal.Length, data = iris) %>%
tbl_regression(exponentiate = TRUE) %>%
modify_header(update = list(
estimate ~ '**Coefficient**',
ci~ '**95% CI**',
N ~ '**N**'
))
mod
在这里,我实现了对不同的字符串使用多种颜色,如果任何字符串与字符串数据类型列表匹配,则它将以橙色显示,如果任何字符串与字符串关键字列表匹配,则将显示颜色为蓝色,并且其余字符串与两个列表中的任何一个都不匹配,则它将显示为黑色。
我已经实现了此代码,但无法正常工作。
答案 0 :(得分:3)
您如何使用此package。
这是与包有关的示例。
import 'package:flutter/material.dart';
import 'package:rich_text_controller/rich_text_controller.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'RichText Controller Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(body: RichTextControllerDemo()),
);
}
}
class RichTextControllerDemo extends StatefulWidget {
@override
_RichTextControllerDemoState createState() => _RichTextControllerDemoState();
}
class _RichTextControllerDemoState extends State<RichTextControllerDemo> {
RichTextController _controller;
@override
void initState() {
_controller = RichTextController(
{
RegExp(
"num|Byte|bool|byte|short|int|long|float|double|boolean|char/g",
): TextStyle(color: Colors.red),
RegExp(
"async|await|break|case|catch|class|const|continue|default|defferred|do|dynamic|else|enum|export|external/g",
): TextStyle(color: Colors.blue),
},
onMatch: (List<String> matches) {},
);
super.initState();
}
@override
Widget build(BuildContext context) {
return Center(
child: TextField(
controller: _controller,
));
}
}
答案 1 :(得分:2)
您可以使用rich_text_controller软件包。其中有一个onMatch属性。
import 'package:flutter/material.dart';
import 'rich_text_controller/rich_text_controller.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'RichText Controller Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: RichTextControllerDemo(),
);
}
}
class RichTextControllerDemo extends StatefulWidget {
@override
_RichTextControllerDemoState createState() => _RichTextControllerDemoState();
}
class _RichTextControllerDemoState extends State<RichTextControllerDemo> {
// Add a controller
RichTextController _controller;
@override
void initState() {
// initialize with your custom regex patterns and styles
_controller = RichTextController({
//
//* Returns every Hashtag with red color
//
RegExp(r"\B#[a-zA-Z0-9]+\b"):TextStyle(color:Colors.red),
// add as many expressions as you need!
//! starting v1.1.0
// Now you have an onMatch callback that gives you access to a List<String>
// which contains all matched strings
onMatch: (List<String> matches){
// Do something with matches.
//! P.S
// as long as you're typing, the controller will keep updating the list.
}
//!
});
super.initState();
}
}