我们在Text组件中介绍了Text的一些用法。该组件主要是用来显示文字的,那我们今天针对文字继续深入挖掘下。
首先先来定义一个自定义widget,返回Text组件:
class TextDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text('山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?')
}
}
那这时如果Text里面要返回的文字里面包含变量该怎么办呢,例如我要显示文章名字,作者,他们用变量标示。
那这时候我们就该用该final来定义私有变量,通常变量前面加上_。
final String _author = '刘禹锡';
final String _title = '陋室铭';
随后在文字里面用_title就行了,也就是变量前面加上$
final String _author = '刘禹锡';
final String _title = '陋室铭';
@override
Widget build(BuildContext context) {
return Text(
'《$_title》 -- $_author 山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?',
);
}
}
下来我们再给代码添加下东西:
class BasicDemo extends StatelessWidget {
final TextStyle _textStyle = TextStyle(
fontSize: 16.0,
color: Colors.lightGreen,
);
final String _author = '刘禹锡';
final String _title = '陋室铭';
@override
Widget build(BuildContext context) {
return Text(
'《$_title》 -- $_author 山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?',
textAlign: TextAlign.center,
style: _textStyle,
maxLines: 3,
overflow: TextOverflow.ellipsis,
);
}
}
- testAlign 文字的对齐方式
- style
前面文章已经说到过,这个是用来定义文字样式的,有时候都写在一起会比较混乱,这时候我们也可以用final定义一个字体样式的变量,这样就把代码拆分开来了。 - maxLines 文字展示几行
- overflow 文字超出规定行数该怎么办? ellipsis表示超出的部分后面显示...









网友评论