Flutter-Stack的使用

作者: 嗨哒哥 | 来源:发表于2020-01-24 21:15 被阅读0次

Flutter-Stack

Stack的定义

Stack和Container,Column,Row基本上一样,都是一种存放其他Widget的容器,不同点在于Row、Column、Stash中存放的是一组Widget;Container每次只能放一个WIdget;具体请查看Stack的定义:

Stack({
    Key key,
    this.alignment = AlignmentDirectional.topStart,//设置子Widget开始展示的位置,从顶部开始展示
    AlignmentDirectional.topCenter//从顶部中间开始展示
    AlignmentDirectional.topEnd//从顶部结束位置展示
    AlignmentDirectional.centerStart//从中间开始位置开始展示
    AlignmentDirectional.center//从正中间展示
    AlignmentDirectional.centerEnd//从中间结束位置展示
    AlignmentDirectional.bottomStart//从底部开始位置展示
    AlignmentDirectional.bottomCenter//从底部中间位置展示
    AlignmentDirectional.bottomEnd//从底部结束位置展示
    this.textDirection,//设置子widget的左右显示方位
    this.fit = StackFit.loose,//设置没有通过positioned包裹的子widget的size,loose表示,以他子widget最大的size展示
    StackFit.expand//stack的size等于他父widget的size
    this.overflow = Overflow.clip,子widget超出stack时的截取方式,参考Text的溢出截取方式
    List<Widget> children = const <Widget>[],//一组子widgets
})

Stack的使用说明

Stack里面可以存放各种Widget,不过有一个缺点就是所有的子widget都是重叠放在一起的,请看事例代码

Stack(
//        alignment: AlignmentDirectional.center,
    textDirection: TextDirection.rtl,
//        fit: StackFit.passthrough,
    children: <Widget>[
      Container(
        color: Colors.redAccent,
        width: 100.0,
        height: 100.0,
        child: Text('data'),
      ),
  Icon(Icons.settings),
//          Positioned(
//            top: 10,
//            left: 60,
//            child: Icon(Icons.settings),),
      Icon(Icons.opacity),

      Icon(Icons.ondemand_video),
    ],
  )
stack.jpg

为了能够使stack里面的子widget分开展示,需要借助于Positioned这个widget来辅助,可以通过Positioned来设置上下左右,宽高等属性,具体按照需要进行设置

Stack(
//        alignment: AlignmentDirectional.center,
    textDirection: TextDirection.rtl,
//        fit: StackFit.passthrough,
    children: <Widget>[
      Container(
        color: Colors.redAccent,
        width: 100.0,
        height: 100.0,
        child: Text('data'),
      ),
      Positioned(
        top: 10,
        left: 60,
        child: Icon(Icons.settings),),
      Icon(Icons.opacity),

      Icon(Icons.ondemand_video),
    ],
  )
stack1.jpg

相关文章

  • Flutter-Stack的使用

    Flutter-Stack Stack的定义 Stack和Container,Column,Row基本上一样,都是...

  • Flutter-Stack组件

    1. Stack组件 在开发中,我们多个组件很有可能需要重叠显示,比如在一张图片上显示文字或者一个按钮等。 在An...

  • Flutter-Stack(堆叠)布局组件

    在日常的开发中,我们可能会遇到以下的需求: 多个元素重叠在一起。 这种需求我们可以使用Stack组件来实现。这篇博...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

网友评论

    本文标题:Flutter-Stack的使用

    本文链接:https://www.haomeiwen.com/subject/mrfhthtx.html