flutter row 滚动_Flutter 基础布局Widgets之Row详解

c6964c477d219c222865fd20eef56f64.png

概述

Row即创建一个水平的组件列表,是非常常用的组件,而Column即创建一个垂直的组件列表,用法和Row一模一样,因为Row以及Column都是Flex的子类,它们的具体实现也都是由Flex完成,只是参数不同。

构造函数

Row({ Key key, MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, MainAxisSize mainAxisSize = MainAxisSize.max, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, TextDirection textDirection, VerticalDirection verticalDirection = VerticalDirection.down, TextBaseline textBaseline, List children = const [], })
  • mainAxisAlignment 在flex布局中,子元素应该如何沿着主轴放置,即各个组件的放置的方式, 比如MainAxisAlignment.start 组件都尽量靠近主轴起点
  • mainAxisSize 主轴应该占用多少空间 max 即占用最大 min则相反
  • crossAxisAlignment 交叉轴的布局方式
  • textDirection 组件开始方向 ltr:left-to-right
  • verticalDirection 定义了children摆放顺序,默认是down
  • textBaseline 对齐文本的水平线
  • children 需要拜访的widget们

简单示例

// rowimport 'package:flutter/material.dart';class RowLearn extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: AppBar( title: Text('Row') ), // 水平显示一堆组件,不能滚动 body: Row( // 在flex布局中,子元素应该如何沿着主轴放置,即各个组件的放置的方式, 比如MainAxisAlignment.start 组件都尽量靠近主轴起点, // 而起点的方向取决去textDirection: TextDirection.rtl,比如right-to-left即都从右边开始 mainAxisAlignment: MainAxisAlignment.spaceAround, // 主轴应该占用多少空间 max 即占用最大 min则相反 mainAxisSize: MainAxisSize.max, // 交叉轴的布局方式 crossAxisAlignment: CrossAxisAlignment.start, // 组件开始方向 ltr:left-to-right textDirection: TextDirection.ltr, // 定义了children摆放顺序,默认是down verticalDirection: VerticalDirection.down, // 对齐文本的水平线 textBaseline: TextBaseline.alphabetic, children: [ Icon(Icons.access_alarm), Icon(Icons.access_alarms), Icon(Icons.access_time) ], ), ); }}

示例效果

93bd54483f600e3035e3a690f1a455cd.png

CD63F6259F27143B96E7A82F207CCCA9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值