flutter text 左对齐_【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.center: 文本居中对齐

* TextAlign.left: 文本左对齐

* TextAlign.right: 文本右对齐

* TextAlign.start: 文本开始位置对齐,类似左对齐

* TextAlign.end: 文本结束位置对齐,类似右对齐

* TextAlign.justify: 文本两端对齐*/textAlign: TextAlign.justify,/**

* 文字方向,即文字从那边开始显示,该属性必须设置,可选值有如下两个:

* TextDirection.ltr:left to right,文本从左边开始显示

* TextDirection.rtl:right to left,文本从左边开始显示,textAlign 为 TextAlign.start 时再设置该值,相当于又把 textAlign 设置为 TextAlign.end。

* textAlign 为 TextAlign.end 时再设置该值,相当于又把 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.none:无,默认

* TextDecoration.overline:上划线

* TextDecoration.lineThrough:删除线

* TextDecoration.underline:下划线

* 也可以调用 TextDecoration.combine() 方法传入一个集合设置多个装饰*/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:斜体

* FontStyle.normal:正常*/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),

),

),

);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值