关于 Widget 部件
- Flutter有一套丰富、强大的基础widget,其中以下是很常用的:
- Text:该 widget 可让创建一个带格式的文本。
- Row、 Column: 这些具有弹性空间的布局类Widget可让您在水平(Row)和垂直(Column)方向上创建灵活的布局。其设计是基于web开发中的Flexbox布局模型。
- Stack: 取代线性布局 (译者语:和Android中的LinearLayout相似),Stack允许子 widget 堆叠, 你可以使用 Positioned 来定位他们相对于Stack的上下左右四条边的位置。Stacks是基于Web开发中的绝度定位(absolute positioning )布局模型设计的。
- Container: Container 可让您创建矩形视觉元素。container 可以装饰为一个BoxDecoration, 如 background、一个边框、或者一个阴影。 Container 也可以具有边距(margins)、填充(padding)和应用于其大小的约束(constraints)。另外, Container可以使用矩阵在三维空间中对其进行变换。
TextWidget
- style,
- strutStyle,
- textAlign
- TextAlign 类型
- left 左对齐
- right 右对齐
- center 居中
- justify
- start
- end
- TextAlign 类型
- textDirection,
- locale,
- softWrap 是否自动换行
- false :文字不考虑容器大小单行显示,若超出屏幕部分将默认截断处理
- overflow 文字超出屏幕之后的处理方式
- TextOverflow 类型
- TextOverflow.clip剪裁
- TextOverflow.fade 渐隐
- TextOverflow.ellipsis 省略号
- TextOverflow 类型
- textScaleFactor,
- maxLines,
- semanticsLabel,
import 'package:flutter/material.dart';
/*
Flutter 一切皆Widget
*/
void main() => runApp(MyApp());
// 继承静态组件
class MyApp extends StatelessWidget {
//重写 build 方法 返回Widget组件
//传一个build 上下文
@override
Widget build(BuildContext context){
return MaterialApp(
title: 'Hello TextWidget',
// home 给个脚手架组件
home: Scaffold(
appBar: AppBar(
title: Text('Hello AppBar Title'),
),
body: Center(
child: Text(
'hello TextWidget Body' * 10,
/*
文本对齐
*/
textAlign: TextAlign.left,
/*
* 显示最大行
* */
maxLines: 1,
/* TextOverflow.ellipsis 超出行数有省略号
* TextOverflow.fade 超出部分上下渐变
* */
overflow: TextOverflow.ellipsis,
/*
* 文本样式
* */
style: TextStyle(
fontSize: 25.0,
color: Color.fromARGB(255, 255, 333, 333),
decorationStyle: TextDecorationStyle.solid,
),
),
),
),
);
}
}