fluttertext左对齐_【Flutter学习】基本组件之⽂本组件Text import 'package:flutter/material.dart';void main() =>runApp(MyApp());classMyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {returnMaterialApp(
title:'Text⽂本组件',
theme:newThemeData(
primarySwatch: Colors.blue,
),
home:newCenterDemoPage() ,
);
}
}classCenterDemoPage extends StatefulWidget{
@override
createState()=> newCenterDemoPageState();
}class CenterDemoPageState extends State{
@override
Widget build(BuildContext context) {return newScaffold(
appBar:newAppBar(
title:new Text('Container Widget Demo'),
),
body:_buildDemo() ,
);
}
Widget _buildDemo(){return newCenter(
child:newText('我是⼀段测试⽂本Hello World!我是⼀段测试⽂本 Hello World!我是⼀段测试⽂本 Hello World!我是⼀段测试⽂本 Hello World!我是⼀段测试⽂本 Hello World!',/**
* ⽂字对齐⽅式,可选值有如下五个:
* : ⽂本居中对齐
* TextAlign.left: ⽂本左对齐
* TextAlign.right: ⽂本右对齐
* TextAlign.start: ⽂本开始位置对齐,类似左对齐
* d: ⽂本结束位置对齐,类似右对齐
* TextAlign.justify: ⽂本两端对齐*/textAlign: TextAlign.justify,/**
* ⽂字⽅向,即⽂字从那边开始显⽰,该属性必须设置,可选值有如下两个:
* TextDirection.ltr:left to right,⽂本从左边开始显⽰
* l:right to left,⽂本从左边开始显⽰,textAlign 为 TextAlign.start 时再设置该值,相当于⼜把 textAlign 设置为d。
* textAlign 为 d 时再设置该值,相当于⼜把 textAlign 设置为 TextAlign.start*/textDirection: TextDirection.ltr,/**
* ⽂字最多显⽰⾏数,值为 int 型*/maxLines:3,/**
* 当⽂本内容超过最⼤⾏数时,剩余内容的显⽰⽅式,相当于Android 的 ellipsize 属性,可选值有如下三个:
* TextOverflow.clip:直接切断,剩下的⽂字就没有了
* TextOverflow.ellipsis:ellipsis:在后边显⽰省略号
* TextOverflow.fade: 溢出的部分会进⾏⼀个渐变消失的效果,softWrap 属性为 false 时才会有效果*/overflow: TextOverflow.clip,/**是否⾃动换⾏,值为 boolean 型:
* true:⽂本内容超过⼀⾏后可以换⾏显⽰,
* 当没有设置 maxLines 属性且 overflow 为 TextOverflow.ellipsis 失效,显⽰单⾏且⽂本超出的部分显⽰为省略号。
* false:⽂本内容超过⼀⾏后不可以换⾏显⽰,即只能单⾏显⽰,超出的部分默认切断处理,如果设置了 overflow 属性则按照 overflow 属性值处理。
* 当设置了 maxLines 属性且 overflow 为 TextOverflow.ellipsis 失效,即可以换⾏,最⼤⾏数为 maxLines 属性的值。
*/softWrap:true,/** ⽂本字体缩放倍数,值为 double 型*/textScaleFactor:1.2,/**
* 感觉是设置⽂本所属区域,可能跟字体有关,这个属性还没有看到效果。*/locale:new Locale(''),/**
* 感觉是为该 Text 组件设置标签,这个属性还没有看到效果。*/semanticsLabel: Locale.fromSubtags('1'),/**
* ⽂本样式*/style:newTextStyle(//背景颜⾊,但是这样设置背景有些⽂本显⽰貌似会有点问题,值为⼀个 Paint 对象//background: backgroundPaint,//⽂字颜⾊,值为⼀个 Color 对象
color: new Color(0xFF000000),/**
* 添加装饰物,可选值有:
* :⽆,默认
* TextDecoration.overline:上划线
* TextDecoration.lineThrough:删除线
* TextDecoration.underline:下划线
text align center* 也可以调⽤ TextDecorationbine() ⽅法传⼊⼀个集合设置多个装饰*/decoration: TextDecoration.underline,//设置装饰物的颜⾊,值为⼀个 Color 对象
decorationColor: new Color(0xFF00FFFF),/**
* 设置装饰物的样式,可选值有:
* TextDecorationStyle.dashed:装饰线为虚线
* TextDecorationStyle.dotted :装饰线为点构成的线
* TextDecorationStyle.double :装饰线为两根线
* TextDecorationStyle.solid :装饰线为实⼼线
* TextDecorationStyle.wavy :装饰线为波浪线
* 也可以 TextDecorationStyle.values() ⽅法传⼊⼀个集合设置多种样式*/decorationStyle: TextDecorationStyle.dashed,//⾃定义字体的名字,搭配 package 属性使⽤//fontFamily: ,//⾃定义字体的路径//package: ,//字体⼤⼩,值为 double 类型
fontSize: 20.0,/** 字体样式,可选值有:
* FontStyle.italic:斜体
* al:正常*/fontStyle: FontStyle.italic,//字体字重,常⽤值有 FontWeight.bold(加粗)
fontWeight: FontWeight.bold,/**
* 貌似⽂档中的意思是是否使⽤⽗类的样式来替换空值(没有设置的值)
* 如果为 true 则使⽤⽗类的样式来替换控制
* 如果为 false,则恢复成默认值,⽩⾊ 10px,字体为 sans-serif*/inherit:false,//字间距,值为 double
类型
letterSpacing: 2.0,/**
* 感觉是设置⽂字所属区域,可能跟字体有关
* locale
* ⽂字阴影,值为⼀个 Shadow 集合*/shadows: shadowList,/**
* ⽂本基线,这个不太理解,感觉⽤到的情况应该也不多,可选值有两个
* TextBaseline.ideographic:⽤于对齐字母字符的字形底部的⽔平线
* TextBaseline.alphabetic:⽤于对齐表意字符的⽔平线
* 也可以 TextBaseline.values() ⽅法传⼊⼀个集合设置多个基线*/textBaseline: TextBaseline.ideographic,//字体间距,值为 double 类型,应该是⽤空格隔开时就认为⼀个单词,英⽂容易理解,如 Hello World 就是两个单词,中⽂的词不⽤空格隔开,所以⽂本内容为中⽂时使⽤较少
wordSpacing: 10.0,//⾏⾼,值为 double 类型,最终是该属性的值乘以 fontSize 作为⾏⾼,所以该值
更像是⼀个⾏⾼系数
height: 2.0),
),
),
);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论