第八回:如何使用Stack Widget

news2025/2/24 9:52:20

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码

我们在上一章回中介绍了GirdView Widget,本章回中将介绍 Stack这种Widget,闲话休提,让我们一起Talk Flutter吧。

概念介绍

在Flutter中Stack主要用来叠加显示其它的Widget,类似我们日常生活中的楼层或者说PS中的图层,因此它也是一种布局类widget.

使用方法

在Flutter中通过Stack类表示Stack Widget,它和其它的Widget一样使用类的属性(或者叫成员变量)来控制界面显示,我们只需要给构造方法中的命名参数赋值就可以。常用的属性如下:

  • children属性用来包含每一层的widget;
  • aliment属性用来控制某个没有定位的widget在Satck中的位置;

如果觉得aliment属性不方便,也可以Position Widget来控制位置,它和Container Widget属性类似,可以包含其它Widget,并且对被包含的Widget进行位置调整。

示例代码

    Widget stackEx = Stack(
      //这个偏移只对没有设置位置的widget起作用
      //(0,0)是中央位置
      // alignment: const Alignment(0.0,0.0),
      alignment: Alignment.center,
      children: [
        const CircleAvatar(
          backgroundColor: Colors.blueAccent,
          //找不到图片使用颜色填充
          backgroundImage: AssetImage("images/ax.png"),
          radius: 80,
          //不添加时有边框,添加后没有边框
          foregroundColor: Colors.black87,
        ),
       Container(
         decoration: const BoxDecoration(
           color: Colors.grey,
         ),

         child: const Text(
           'This text',
           style: TextStyle(
             fontSize: 26,
             fontWeight: FontWeight.bold,
             color: Colors.white,
           ),
         ),
       ),
       const Positioned(
          left: 5,
          top: 1,
          child: Icon(Icons.book)
        ),
      ],
    );

在上面的代码中,我们创建了Stack对象来表示叠加的Widget,通过它的children属性包含了三个Widget:圆形的容器(CircleAvatar),文本(Text)和图标(Icon)。

这三个Widget的代码顺序决定了它们的叠加顺序:

代码添加顺序越靠前的Widget,越位于叠加后的最底层。

这三个Widget只有文本没有位置限制,因此它受Stack中Aliment的控制位于中间。把上面的代码添加到我们创建的MaterialApp中就可以运行,运行程序时会显示一个圆形,中间是文本,图标位于左上角(不明显)。下面是MaterialApp的代码:

//build方法省略不写
  return MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(primaryColor: Colors.blue),

        home: Scaffold(
            appBar: AppBar(
              title: const Text("Title of Hello App"),
            ),
            body: Column(
              children: [
                wechatBottom,
                imageEx,
                stackEx,
              ],
            )
        )
    );

注意:Stack只是用来控制Widget叠加的,因此它可以嵌套在Column Widget中。下面是程序的运行效果图:
在这里插入图片描述

看官们,关于Stack Widget的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/437052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity3D】魔方

1 需求实现 绘制魔方 中基于OpenGL ES 实现了魔方的绘制,实现较复杂,本文基于 Unity3D 实现了 2 ~ 10 阶魔方的整体旋转和局部旋转,详细需求如下: 用户通过选择魔方阶数,渲染指定阶数的魔方,并且可以自动打…

强化学习原理及应用作业之动态规划算法【SYSU_2023SpringRL】

强化学习原理及应用作业之动态规划算法【SYSU_2023SpringRL】 题目描述:任务一:动态规划方法一、策略迭代算法1、代码2、结果3、思路讲解策略评估策略提升二、价值迭代算法1、代码2、结果3、思路讲解算法整个流程总结题目描述: 本次实践作业将在以下环境进行: 该环境由一…

doris学习之路(一)初识Doris

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此&#xf…

win10+Ubuntu双系统安装教程

1、下载Ubuntu镜像文件 Ubuntu各个版本的安装镜像文件可以从华为云下载&#xff1a; http://repo.huaweicloud.com/ubuntu-releases/ Ubuntu桌面版的安装镜像文件名为&#xff1a;ubuntu-<版本号>-desktop-amd64.iso 2、下载安装镜像工具 用win32diskImage 网址为Win…

初始c++语法

我们在C语言的基础之上进行c语言的学习。对于我们的c语言来说&#xff0c;c兼容C语言&#xff0c;所以我们以前编写的C语言的程序在c平台上也是可以运行的。唯一不同的就是我们的c对于我们C语言的部分语法做出了优化以及引入了面向对象的概念。所以在刚开始学习c的时候我们可以…

真题详解(归并)-软件设计(五十三)

真题详解&#xff08;UML部署图&#xff09;-软件设计&#xff08;五十二)https://blog.csdn.net/ke1ying/article/details/130233656 语句覆盖<判定覆盖<条件覆盖<路径覆盖。 2、ISO/IEC 9126软件质量模型中对软件质量定义&#xff1a; 易测试性、易分析性、稳定性、…

【FPGA-Spirit_V2】基于FPGA的循迹小车-小精灵V2开发板

&#x1f389;欢迎来到FPGA专栏~基于FPGA的循迹小车 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大家能…

Contrastive Representation Learning 对比表征学习(二)关键成分

原文翻译自这里 关键成分 大量数据增强 给定一训练样本&#xff0c;在计算其相关损失之前通常需要数据增强技术为该样本添加噪声。适度的数据增强设定对于学习一个优秀的&#xff0c;泛化性好的嵌入特征是至关重要的。其在不改变语义信息的同时将些微变量引入到样本之中&…

Windows环境下实现设计模式——备忘录模式(JAVA版)

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天总结一下Windows环境下如何编程实现备忘录模式&#xff08;设计模式&#xff09;。 不知道大家有没有这样的感觉&#xff0c;看了一大堆编程和设计模式的书&#xff0c;却还是很难理解设计模式&#xff…

【使用ChatGPT自动化】批量转换.csv文件为.xlsx文件

第1次提问&#xff1a; 我&#xff1a;我想使用Python批量转换.csv文件为.xlsx文件&#xff0c;请你提供代码 它&#xff1a;好的&#xff0c;以下是使用Python批量转换.csv文件为.xlsx文件的代码&#xff1a; import os import glob import pandas as pddef csv_to_xlsx(pa…

MATLAB数值运算(六)

目录 实验目的 实验内容 原创代码&#xff0c;仅供参考&#xff0c;不要直接CV呀 ~_~ 实验目的 1&#xff09;掌握定义符号对象和创建符号表达式的方法&#xff1b; 2&#xff09;掌握符号运算基本命令和规则&#xff1b; 3&#xff09;掌握符号表达式的运算法则以及符号矩阵…

A100 Jeston TX1TX2使用教程-接口说明

EdgeBox_Umate_A100是一款嵌入式人工智能计算机&#xff0c;能够为各类终端设备赋予人工智能的能力&#xff0c;降低终端智能的开发门槛。EdgeBox_Umate_A100搭载了移动处理器——NVIDIA Jetson TX1&#xff0c;并且兼容TX2&#xff0c;是最适合边缘计算的高性能平台。 A100 算…

【Javascript - 力扣每日一题】13. 罗马数字转整数

题目描述 罗马数字包含以下七种字符: I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如&#xff0c; 罗马数字 2 写做 II &#xff0c;即为两个并列的 1 。12 写做 XII &#xff0c;即为…

【黑马2023大数据实战教程】VMWare虚拟机部署HDFS集群详细过程

文章目录 部署HDFS集群1.配置workers:2.配置hadoop-env.sh文件3.配置core-site.xml文件4.配置hdfs-site.xml文件准备数据目录分发Hadoop文件夹配置环境变量授权为hadoop用户格式化文件系统错误排查方法!! 视频&#xff1a;黑马2023 VMWare虚拟机部署HDFS集群 注意&#xff01;这…

linux代码检测工具valgrind之内存检测memcheck

1、安装命令&#xff1a; $ sudo apt-get install valgrind 安装成功如下&#xff1a; 检测版本命令&#xff1a;$ valgrind --version 2、valgrind检测工具tool介绍 &#xff08;1&#xff09;Memcheck是一个内存错误检测器。 &#xff08;2&#xff09;Cachegrind是缓存…

C++语法(19)---- 模拟AVL树

C语法&#xff08;18&#xff09;---- set和map_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130228232?spm1001.2014.3001.5501 目录 1.AVL树的概念 2.节点定义 3.AVL树的类实现 1.类定义 2.insert 1.全代码实现 2.思考角度 3.平衡因…

【Redis】Redis十大数据类型—哈希hash

介绍 Hash 是一个键值对&#xff08;key - value&#xff09;集合&#xff0c;其中 value 的形式入&#xff1a;value[{field1&#xff0c;value1}&#xff0c;...{fieldN&#xff0c;valueN}]。Hash 特别适合用于存储对象。 Hash和String对象的区别 内部实现 Hash 类型的底…

SpringMVC 接收前端传递的参数

SpringMVC 接受前端传参 1、前端传参需要注意请求的Content-type, 主要使用的有两种&#xff1a; application/x-www-form-urlencodedapplication/json application/x-www-form-urlencoded是浏览器的默认编码格式 &#xff0c;对于原生的form 表单提交参数&#xff0c;就是使用…

【大数据之Hadoop】十六、MapReduce之Join

1 Reduce Join Map端&#xff1a; 为来自不同表或文件的key/value对&#xff0c;打标签以区别不同来源的记录。然后用连接字段作为key&#xff0c;其余部分和新加的标志作为value&#xff0c;最后进行输出。 Reduce端&#xff1a; 在每一个分组当中将那些来源于不同文件的记录…

【剑指 offer】调整数组顺序使奇数位于偶数前面

✨个人主页&#xff1a;bit me&#x1f447; ✨当前专栏&#xff1a;算法训练营&#x1f447; 调 整 数 组 顺 序 使 奇 数 位 于 偶 数 前 面 核心考点&#xff1a;数组操作&#xff0c;排序思想的扩展使用 描述&#xff1a; 输入一个整数数组&#xff0c;实现一个函数来调…