我正在编写一个应用程序,它会在颤动中显示不同颜色的几个单词。
我尝试使用插件flutter_html_view加载HTML文件但是那个不支持样式(内联)。我也试过使用降价。
我怎样才能做到这一点?
答案 0 :(得分:9)
使用RichText类
var text = new RichText(
text: new TextSpan(
// Note: Styles for TextSpans must be explicitly defined.
// Child text spans will inherit styles from parent
style: new TextStyle(
fontSize: 14.0,
color: Colors.black,
),
children: <TextSpan>[
new TextSpan(text: 'Hello'),
new TextSpan(text: 'World', style: new TextStyle(fontWeight: FontWeight.bold)),
],
),
);
答案 1 :(得分:5)
使用RichText,TextSpan和TextStyle,如下图所示。
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: Center(
child: RichText(
text: TextSpan(
text: 'Default',
style: TextStyle(color: Colors.red), /*defining default style is optional */
children: <TextSpan>[
TextSpan(
text: ' bold', style: TextStyle(fontWeight: FontWeight.bold)),
TextSpan(
text: ' colorful',
style: TextStyle(color: Colors.lightGreenAccent)),
TextSpan(
text: ' large',
style: TextStyle(color: Colors.cyanAccent, fontSize: 40)),
],
),
),
),
);
}
}
答案 2 :(得分:2)
您可以将RichText class类与TextStyle class一起使用
RichText
小部件有助于回答并解决上述情况
RichText(
textAlign: TextAlign.center,
text: TextSpan(children: <TextSpan>[
TextSpan(
text: "I agree to the ",
style: TextStyle(color: Colors.black87)),
TextSpan(
text: "Terms and Conditions",
style: TextStyle(
color: Colors.deepPurple,
fontWeight: FontWeight.bold)),
]),
)