在Flutter中以不同的颜色显示几个单词

时间:2018-05-27 12:03:30

标签: android flutter

我正在编写一个应用程序,它会在颤动中显示不同颜色的几个单词。

我尝试使用插件flutter_html_view加载HTML文件但是那个不支持样式(内联)。我也试过使用降价。

我怎样才能做到这一点?

3 个答案:

答案 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)),
            ],
          ),
        ),
      ),
    );
  }
}

enter image description here

答案 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)),
   ]),
)

enter image description here