返回顶部
首页 > 资讯 > 精选 >怎么使用Flutter叠加组件Stack
  • 273
分享到

怎么使用Flutter叠加组件Stack

2023-06-04 22:06:02 273人浏览 安东尼
摘要

本篇内容介绍了“怎么使用Flutter叠加组件Stack”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注意:无特殊说明,Flutter版本及

本篇内容介绍了“怎么使用Flutter叠加组件Stack”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

注意:无特殊说明,Flutter版本及dart版本如下:

  • Flutter版本: 1.12.13+hotfix.5

  • Dart版本: 2.7.0

Stack

Stack组件可以将子组件叠加显示,根据子组件的顺利依次向上叠加,用法如下:

Stack(  children: <Widget>[    Container(      height: 200,      width: 200,      color: Colors.red,    ),    Container(      height: 170,      width: 170,      color: Colors.blue,    ),    Container(      height: 140,      width: 140,      color: Colors.yellow,    )  ],)

效果如下:

怎么使用Flutter叠加组件Stack

Stack未定位的子组件大小由fit参数决定,默认值是StackFit.loose,表示子组件自己决定,StackFit.expand表示尽可能的大,用法如下:

Stack(  fit: StackFit.expand,  ...)

Stack未定位的子组件的默认左上角对齐,通过alignment参数控制,用法如下:

Stack(  alignment: Alignment.center,  ...)

效果如下:

怎么使用Flutter叠加组件Stack

有没有注意到fitalignment参数控制的都是未定位的子组件,那什么样的组件叫做定位的子组件?使用Positioned包裹的子组件就是定位的子组件,用法如下:

Stack(  alignment: Alignment.center,  children: <Widget>[    Container(      height: 200,      width: 200,      color: Colors.red,    ),    Positioned(      left: 10,      right: 10,      bottom: 10,      top: 10,      child: Container(        color: Colors.green,      ),    )  ],)

Positioned组件可以指定距Stack各边的距离,效果如下:

怎么使用Flutter叠加组件Stack

如果子组件超过Stack边界由overflow控制,默认是裁剪,下面设置总是显示的用法:

Stack(  overflow: Overflow.visible,  children: <Widget>[    Container(      height: 200,      width: 200,      color: Colors.red,    ),    Positioned(      left: 100,      top: 100,      height: 150,      width: 150,      child: Container(        color: Colors.green,      ),    )  ],)

效果如下:

怎么使用Flutter叠加组件Stack

IndexedStack

IndexedStack是Stack的子类,Stack是将所有的子组件叠加显示,而IndexedStack只显示指定的子组件,用法如下:

IndexedStack(      index: _index,      children: <Widget>[        Center(          child: Container(            height: 300,            width: 300,            color: Colors.red,            alignment: Alignment.center,            child: Icon(              Icons.fastfood,              size: 60,              color: Colors.blue,            ),          ),        ),        Center(          child: Container(            height: 300,            width: 300,            color: Colors.green,            alignment: Alignment.center,            child: Icon(              Icons.cake,              size: 60,              color: Colors.blue,            ),          ),        ),        Center(          child: Container(            height: 300,            width: 300,            color: Colors.yellow,            alignment: Alignment.center,            child: Icon(              Icons.local_cafe,              size: 60,              color: Colors.blue,            ),          ),        ),      ],    )

通过点击按钮更新_index值,代码如下:

Row(          mainAxisAlignment: MainAxisAlignment.center,          children: <Widget>[            IconButton(              icon: Icon(Icons.fastfood),              onPressed: () {                setState(() {                  _index = 0;                });              },            ),            IconButton(              icon: Icon(Icons.cake),              onPressed: () {                setState(() {                  _index = 1;                });              },            ),            IconButton(              icon: Icon(Icons.local_cafe),              onPressed: () {                setState(() {                  _index = 2;                });              },            ),          ],        )

效果如下:

怎么使用Flutter叠加组件Stack

Positioned

Positioned用于定位Stack子组件,Positioned必须是Stack的子组件,基本用法如下:

Stack(  children: <Widget>[    Positioned(      left: 10,      right: 10,      top: 10,      bottom: 10,      child: Container(color: Colors.red),    ),  ],)

效果如下:

怎么使用Flutter叠加组件Stack

“怎么使用Flutter叠加组件Stack”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 怎么使用Flutter叠加组件Stack

本文链接: https://lsjlt.com/news/240202.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用Flutter叠加组件Stack
    本篇内容介绍了“怎么使用Flutter叠加组件Stack”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注意:无特殊说明,Flutter版本及...
    99+
    2023-06-04
  • Flutter折叠控件使用方法详解
    本文实例为大家分享了Flutter折叠控件使用的具体代码,供大家参考,具体内容如下 1.官方折叠控件ExpansionTiles 官方默认提供了一个折叠控件 ExpansionTil...
    99+
    2024-04-02
  • Flutter有状态组件怎么使用
    今天小编给大家分享一下Flutter有状态组件怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。有状态组件flutter...
    99+
    2023-06-26
  • 使用flutter创建可移动的stack小部件功能
    本文主要介绍我为桌面和 Web 设计的一个超级秘密 Flutter 项目使用了画布和可拖动节点界面。本教程将展示我如何使用堆栈来使用小部件完成可拖动功能 如下所示。 我们将动态地将...
    99+
    2024-04-02
  • Flutter Widget开发之Focus组件怎么使用
    本篇内容介绍了“Flutter Widget开发之Focus组件怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!正文就网络和...
    99+
    2023-07-04
  • Flutter 剪裁组件的使用
    目录效果展示剪裁 WidgetClipRRect(圆角矩形剪裁)其他属性其他形状剪裁ClipOval(椭圆剪裁)其他属性ClipRect(矩形剪裁)ClipPath(路径剪裁)做个优...
    99+
    2024-04-02
  • Flutter Sliver滚动组件怎么用
    这篇文章主要介绍了Flutter Sliver滚动组件怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flutter Sliver滚动组件 SliverList...
    99+
    2023-06-25
  • Flutter基本组件Basics Widget怎么用
    这篇文章主要介绍Flutter基本组件Basics Widget怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 概述Basics Widget 并不是 Flutter 的一个专门的Widget类别...
    99+
    2023-06-22
  • Android开发中Flutter组件怎么用
    这篇“Android开发中Flutter组件怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android开发中Flut...
    99+
    2023-06-30
  • Flutter怎么使用RepositoryProvider解决跨组件传值问题
    这篇文章主要介绍“Flutter怎么使用RepositoryProvider解决跨组件传值问题”,在日常操作中,相信很多人在Flutter怎么使用RepositoryProvider解决跨组件传值问题问题上存在疑惑,小编查阅了各式资料,整理...
    99+
    2023-06-29
  • 详解Flutter中StatefulBuilder组件的使用
    目录例子预览编码结论本文是关于 Flutter 中的 StatefulBuilder 小部件。我将介绍小部件的基础知识,然后检查一个在实际中使用它的完整示例。、StatefulBui...
    99+
    2024-04-02
  • Flutter有状态组件使用详解
    有状态组件 flutter 主要有分有状态组件 StatefulWidget 和无状态组件 StatelessWidget,前面我们使用到的都是无状态组件,没有让页面上的内容发生变化...
    99+
    2024-04-02
  • 怎么使用Flutter刷新组件RefreshIndicator自定义样式demo
    这篇文章主要介绍了怎么使用Flutter刷新组件RefreshIndicator自定义样式demo的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Flutter刷新组件RefreshIndicator自定...
    99+
    2023-07-05
  • Flutter绘图组件之CustomPaint使用详解
    目录简介CustomPaint 介绍CustomPainter 示例总结简介 在有些场景中,我们会需要绘制一些高度定制化的组件,比如 UI 设计师给我们出了个难题 —&m...
    99+
    2024-04-02
  • Flutter中抽屉组件Drawer使用详解
    本文实例为大家分享了Flutter中抽屉组件Drawer实现代码,供大家参考,具体内容如下 1、概述 Scalfold 是 Flutter MaterialApp 常用的布局 Wid...
    99+
    2024-04-02
  • Flutter滚动组件之SingleChildScrollView使用详解
    SingleChildScrollView SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子组件。定义如下: const Si...
    99+
    2024-04-02
  • Flutter投票组件使用方法详解
    本文实例为大家分享了Flutter投票组件的使用方法,供大家参考,具体内容如下 前景 基于公司项目需求,仿照微博实现投票功能。 开发遇到的问题 1.选项列表的高度,自适应的问题;2....
    99+
    2024-04-02
  • Flutter之 ListView组件使用示例详解
    目录ListView的默认构造函数定义默认构造函数ListView.builder ListView.separated固定高度列表ListView 原理实例:无限加载列表...
    99+
    2022-11-13
    Flutter ListView组件 Flutter ListView
  • flutter material widget组件之信息展示组件使用详解
    flutter material widget组件之信息展示组件,供大家参考,具体内容如下 widget分为两类:widgets library中的标准widget和Material...
    99+
    2024-04-02
  • Flutter中使用WebView加载本地Html文件
    当前的WebView插件都是使用HTML的URL方式加载网页。因此我们有时需要把数据保存为文件,再使用WebView去加载本地网页。 流程变更为:网络请求数据 -> 组装成标准的HTML(一般是静态的...
    99+
    2023-09-18
    flutter html android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作