flutter 基础布局Row

》理论不多哔哔,直接上代码:

代码里面有详情说明:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return MaterialApp(
        home: Scaffold(
      appBar: AppBar(title: Text('FlutterDemo')),
      body: LayoutDemo(),
    ));
  }
} //以上为标题固定代码

class LayoutDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      //Container是一个组合类容器
      height: 700, //容器的高度
      width: 500, //容器的宽度
      color: Colors.black26, //容器的背景颜色
      child: Row(
        //嵌套一个线性布局
        crossAxisAlignment: CrossAxisAlignment.center, //表示子组件在纵轴方向的对齐方式
        mainAxisAlignment:
            MainAxisAlignment.spaceEvenly, //表示子组件在Row所占用的水平空间内对齐方式
        // crossAxisAlignment: CrossAxisAlignment.center,
        children: <Widget>[
          //列表数据
          IconContainer(Icons.home, color: Colors.red), //自定义组件传参
          IconContainer(Icons.search, color: Colors.blue), //自定义组件传参
          IconContainer(Icons.send, color: Colors.orange), //自定义组件传参
        ],
      ),
    );
  }
}

/**
 * 无状态的组件类
 */
class IconContainer extends StatelessWidget {
  double size; //全局变量
  IconData icon; //全局变量  icon:图标
  Color color; //全局变量
  IconContainer(this.icon, {this.size = 32.0, this.color = Colors.blue}) {
    this.size = 32.0; //文本大写写死
  }

  @override
  Widget build(BuildContext context) {
    //里面的参数通过传参的形式传递到组件里面实现动态传参
    // TODO: implement build
    return Container(
        //Container 是一个组合型容器组件
        width: this.size + 60, //容器的宽度
        height: this.size + 60, //容器的高度
        color: this.color, //容器的背景颜色
        child: Center(
            //嵌套容器
            //Icon:图标的设置
            child: Icon(this.icon, color: Colors.white, size: this.size)));
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值