Flutter Stack组件

alignment属性

在这里插入图片描述

class HomeContext extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Center(
      child: Stack(
        alignment: Alignment.center,
        children: <Widget>[
          Container(
            width: 300,
            height: 300,
            color: Colors.cyan,
          ),
          Text(//如果Text放Container上会被覆盖
            'Hello World',
            style: TextStyle(fontSize: 30, color: Colors.white),
          ),
        ],
      ),
    );
  }
}

给alignment指定参数

在这里插入图片描述

class HomeContext extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Center(
      child: Stack(
        alignment: Alignment(0,1),//0,0表示居中
        children: <Widget>[
          Container(
            width: 300,
            height: 300,
            color: Colors.cyan,
          ),
          Text(//如果Text放Container上会被覆盖
            'Hello World',
            style: TextStyle(fontSize: 30, color: Colors.white),
          ),
        ],
      ),
    );
  }
}

Stack结合Align使用

在这里插入图片描述

class HomeContext extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Center(
      child: Container(
        width: 300,
        height: 300,
        color: Colors.cyan,
        child: Stack(
          children: <Widget>[
            Align(
              alignment: Alignment.topLeft,
              child: Icon(Icons.account_balance,color: Colors.white,),
            ),
            Align(
              alignment: Alignment.center,
              child: Icon(Icons.home,color: Colors.white,),
            ),
            Align(
              alignment: Alignment.bottomRight,
              child: Icon(Icons.ac_unit,color: Colors.white,),
            )
          ],
        ),
      ),
    );
  }
}

Stack结合Positioned使用

class HomeContext extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Center(
      child: Container(
        width: 300,
        height: 300,
        color: Colors.cyan,
        child: Stack(
          children: <Widget>[
            Positioned(//top,bottom left,right,child
              top: 0,
              left: 0,
              child: Icon(Icons.account_balance,color: Colors.white,),
            ),
            Positioned(
              top: 145,
              left: 145,
              child: Icon(Icons.home,color: Colors.white,),
            ),
            Positioned(
              bottom: 0,
              right: 0,
              child: Icon(Icons.ac_unit,color: Colors.white,),
            )
          ],
        ),
      ),
    );
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值