1.Text
簡介
具有某個單一樣式的文本顯示widget組件,顯示支持一行或者多行。默認樣式會繼承層級最為接近DefaultStyle,當然你也可以重新定義他的樣式將DefaultStytle.inherit 設置為false
基本用法
- data Text顯示的文本,必須填參數(shù)String
- textAlign 文本的對齊方式,可以選擇左對齊、右對齊、居中等
- maxLines 文本顯示的最大行數(shù)
- overflow 文本顯示的截斷方式
- textScaleFactor 文本縮放比例
- style 用于制定文本顯示的樣式如字體、顏色、粗細、背景
代碼示例
class TextDemo extends StatefulWidget {
_Demo createState() => _Demo();
}
class _Demo extends State<TextDemo> {
int index = 0;
Duration timer = Duration(minutes: 50);
@override
Widget build(BuildContext context) {
return Text(
'I‘m a text',
style: TextStyle(fontSize: 18.0, fontWeight: FontWeight.w600 , color:Colors.cyan),
);
}
}
2.Rich Text
簡介
在富文本使用多個不同風格的widget顯示文本。要顯示的文本使用TextSpan對象來描述,沒個對象都有一個用于該子樹的關聯(lián)樣式。文本可能會跨越多行,也可能全部顯示在同一行上,具體取決于布局約束。
示例代碼
class TextDemo extends StatefulWidget {
_Demo createState() => _Demo();
}
class _Demo extends State<TextDemo> {
int index = 0;
Duration timer = Duration(minutes: 50);
@override
Widget build(BuildContext context) {
return RichText(
text: TextSpan(
text: 'This is ',
style: TextStyle(color: Colors.black, fontSize: 18.0),
children: <TextSpan>[
TextSpan(
text: 'bold',
style: TextStyle(fontWeight: FontWeight.bold, )
),
TextSpan(
text: ' text. '
),
TextSpan(
text: 'This is '
),
TextSpan(
text: 'larger ',
style: TextStyle(fontSize: 22.0)
),
TextSpan(
text: 'font size.',),
TextSpan(
text: 'This is ',
),
TextSpan(
text: 'red ',
style:TextStyle(color: Colors.red)
),
TextSpan(
text: 'color.',
)
],
),
);
}
}