Flutter中萬物皆是Widget,從本篇開始會逐步學(xué)習(xí)一些常用組件。而text一般是所有語言中最長見得組件,所以先從TextWidget學(xué)起。
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Text Widget",
home: Scaffold(
body: Center(
child: Text(
"昨夜雨疏風(fēng)驟,濃睡不消殘酒。試問卷簾人,卻道海棠依舊。知否,知否?應(yīng)是綠肥紅瘦。",
),
),
),
);
}
}
顯示結(jié)果:

image.png
這個是textwidget最基本的用法,下面對其進(jìn)行一些常用屬性進(jìn)行介紹。
TextAlign屬性
TextAlign屬性就是文本的對齊方式,它的屬性值有如下幾個:
center: 文本以居中形式對齊,這個也算比較常用的了。
left:左對齊,經(jīng)常使用,讓文本居左進(jìn)行對齊,效果和start一樣。
right :右對齊,使用頻率也不算高。
start:以開始位置進(jìn)行對齊,類似于左對齊。
end: 以為本結(jié)尾處進(jìn)行對齊,有點類似右對齊.
maxLine屬性
設(shè)置最多顯示的行數(shù)
overflow屬性
overflow屬性是用來設(shè)置文本溢出時,如何處理,它有下面幾個常用的值供我們選擇。
clip:直接切斷,剩下的文字就沒有了,感覺不太友好,體驗性不好。
ellipsis:在后邊顯示省略號,體驗性較好,這個在工作中經(jīng)常使用。
fade: 溢出的部分會進(jìn)行一個漸變消失的效果,當(dāng)然是上線的漸變,不是左右的。
style屬性
style屬性的內(nèi)容比較多,具體的你可以查一下API,這里只說明一些常用的。
fontSize:設(shè)置字體大小
color:設(shè)置字體顏色
decoration:設(shè)置橫線等(如上劃線,下劃線,刪除線)
decorationStyle:設(shè)置橫線的類型等(如虛線,實線,雙行線)
設(shè)置屬性后的代碼
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Text Widget",
home: Scaffold(
body: Center(
child: Text(
"昨夜雨疏風(fēng)驟,濃睡不消殘酒。試問卷簾人,卻道海棠依舊。知否,知否?應(yīng)是綠肥紅瘦。",
textAlign: TextAlign.start, //設(shè)置文字對齊方式
maxLines: 1, //最大行數(shù)
overflow: TextOverflow.ellipsis, //省略號
style: TextStyle(
fontSize: 25.0, //設(shè)置文字大小
color: Colors.redAccent, //設(shè)置文字顏色
decoration: TextDecoration.underline, //設(shè)置下劃線
decorationStyle: TextDecorationStyle.solid,//設(shè)置下劃線為實線
),
),
),
),
);
}
}
顯示結(jié)果:

image.png