简单样式
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
// TODO: implement build
return new MaterialApp(
title: 'flutter demo',
home: _home(),
);
}
}
class _home extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return _homeState();
}
}
class _homeState extends State<_home> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
appBar: new AppBar(
title: Text("title"),
centerTitle: true,
),
body: new Column(
//垂直布局
children: <Widget>[
//控件组
Text(
"Hello world",
textAlign: TextAlign.center,
//可以选择左对齐、右对齐还是居中。注意,对齐的参考系是Text widget本身。本例中虽然是指定了居中对齐,
// 但因为Text文本内容宽度不足一行,Text的宽度和文本内容长度相等,那么这时指定对齐方式是没有意义的,
// 只有Text宽度大于文本内容长度时指定此属性才有意义。
),
Text(
"Hello world! I'm Jack. " * 4,//文字重复4次
maxLines: 1,//最大行数
overflow: TextOverflow.ellipsis,//超出显示省略号
),
Text(
"Hello world",
textScaleFactor: 1.5,//代表文本相对于当前字体大小的缩放因子,相对于去设置文本的样式style属性的fontSize,它是调整字体大小的一个快捷方式。
// 该属性的默认值可以通过MediaQueryData.textScaleFactor获得,如果没有MediaQuery,那么会默认值将为1.0。
),
],
));
}
}
效果图
TextStyle
new Text(
'center',
style: TextStyle(
color: Colors.white,//字体颜色
fontSize: 18.0,
//fontSize:该属性和Text的textScaleFactor都用于控制字体大小。但是有两给主要区别:
//fontSize可以精确指定字体大小,而textScaleFactor只能通过缩放比例来控制。
//textScaleFactor主要是用于系统字体大小设置改变时对Flutter应用字体进行全局调整,而fontSize通常用于单个文本。
height: 1.2,
//指定行高,但它并不是一个绝对值,而是一个因子,具体的行高等于fontSize*height
fontFamily: "Courier",
//由于不同平台默认支持的字体集不同,所以在手动指定字体时一定要先在不同平台测试一下
background: new Paint()..color = Colors.lightBlue,
decoration: TextDecoration.underline,//下划线
decorationStyle: TextDecorationStyle.dashed),//下划线样式
// decorationColor: Colors.white,下划线颜色
),
style效果图
softWrap
是否自动换行,若为false,文字将不考虑容器大小,单行显示,超出屏幕部分将默认截断处理
overflow
当文字超出屏幕的时候,如何处理:
- TextOverflow.clip(裁剪)
- TextOverflow.fade(渐隐)
- TextOverflow.ellipsis(省略号)
网友评论