flutter text 左对齐_Flutter 基础布局Widgets之Wrap详解

本文介绍了Flutter中的Wrap布局,它在横轴类似Row,竖轴类似Column。文章详细讲解了Wrap的构造函数参数,包括direction、alignment、spacing等,并通过实例代码展示了如何创建换行布局,使文本在横轴上左对齐。
摘要由CSDN通过智能技术生成

概述

Wrap好似Row和Column的结合,在横轴的表现和Row一致,而竖轴的表现和Column一致,比如当’this.direction = Axis.horizontal’时,横轴()的child放置不下时就会在竖轴自动扩展一行。

构造函数

Wrap({

Key key,

this.direction = Axis.horizontal,

this.alignment = WrapAlignment.start,

this.spacing = 0.0,

this.runAlignment = WrapAlignment.start,

this.runSpacing = 0.0,

this.crossAxisAlignment = WrapCrossAlignment.start,

this.textDirection,

this.verticalDirection = VerticalDirection.down,

List children = const [],

})

direction 扩展方式 比如横向堆砌

alignment 对齐方式

spacing 主轴空隙间距

runAlignment run的对齐方式

runSpacing run空隙间距

crossAxisAlignment 交叉轴对齐方式

textDirection 文本对齐方向

verticalDirection 确定垂直放置子元素的顺序,以及如何在垂直方向上解释开始和结束,默认down

children 需要放置的组件列表

实例代码

// Wrap

import 'package:flutter/material.dart';

class WrapLearn extends StatelessWidget {

@override

Widget build(BuildContext context) {

return new Scaffold(

appBar: AppBar(title: Text('Wrap')),

// 创建换行布局

body: Wrap(

// 扩展方式,横向堆砌

direction: Axis.horizontal,

// 对齐方式

alignment: WrapAlignment.start,

// 主轴空隙间距

spacing: 0,

// run的对齐方式

runAlignment: WrapAlignment.center,

// run空隙间距

runSpacing: 10,

// 交叉轴对齐方式

crossAxisAlignment: WrapCrossAlignment.end,

// 文本对齐方向

textDirection: TextDirection.ltr,

// 确定垂直放置子元素的顺序,以及如何在垂直方向上解释开始和结束。 默认down

verticalDirection: VerticalDirection.down,

children: [

Container(

padding: EdgeInsets.symmetric(vertical: 16, horizontal: 8),

child: Chip(

label: Container(

padding: EdgeInsets.all(2),

constraints: BoxConstraints(

// maxHeight: 30,

// maxWidth: 100,

minHeight: 10,

minWidth: 10),

decoration: BoxDecoration(

// color: Colors.blueAccent

),

child: Text(

'hello',

style: TextStyle(color: Colors.blueAccent, fontSize: 30),

overflow: TextOverflow.fade,

)),

)),

Container(

padding: EdgeInsets.symmetric(vertical: 16, horizontal: 8),

child: Chip(

label: Container(

padding: EdgeInsets.all(2),

constraints: BoxConstraints(

// maxHeight: 30,

// maxWidth: 100,

minHeight: 10,

minWidth: 10),

decoration: BoxDecoration(

// color: Colors.blueAccent

),

child: Text(

'hello',

style: TextStyle(color: Colors.blueAccent, fontSize: 30),

overflow: TextOverflow.fade,

)),

)),

Container(

padding: EdgeInsets.symmetric(vertical: 16, horizontal: 8),

child: Chip(

label: Container(

padding: EdgeInsets.all(2),

constraints: BoxConstraints(

// maxHeight: 30,

// maxWidth: 100,

minHeight: 10,

minWidth: 10),

decoration: BoxDecoration(

// color: Colors.blueAccent

),

child: Text(

'hello',

style: TextStyle(color: Colors.blueAccent, fontSize: 30),

overflow: TextOverflow.fade,

)),

)),

Container(

padding: EdgeInsets.symmetric(vertical: 16, horizontal: 8),

child: Chip(

label: Container(

padding: EdgeInsets.all(2),

constraints: BoxConstraints(

// maxHeight: 30,

// maxWidth: 100,

minHeight: 10,

minWidth: 10),

decoration: BoxDecoration(

// color: Colors.blueAccent

),

child: Text(

'hello',

style: TextStyle(color: Colors.blueAccent, fontSize: 30),

overflow: TextOverflow.fade,

)),

)),

Container(

padding: EdgeInsets.symmetric(vertical: 16, horizontal: 8),

child: Chip(

label: Container(

padding: EdgeInsets.all(2),

constraints: BoxConstraints(

// maxHeight: 30,

// maxWidth: 100,

minHeight: 10,

minWidth: 10),

decoration: BoxDecoration(

// color: Colors.blueAccent

),

child: Text(

'hello',

style: TextStyle(color: Colors.blueAccent, fontSize: 30),

overflow: TextOverflow.fade,

)),

)),

],

),

);

}

}

示例图片:

AAffA0nNPuCLAAAAAElFTkSuQmCC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值