Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局。
  • Stack组件

常用于两个子元素。

Stack组件的常用属性:
属性 说明
alignment 配置所有子元素的显示位置
children 子组件

import 'package:flutter/material.dart';

void main() {
runApp(MaterialApp(
title: "StackWidget",
home: MyApp(),
));
} class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
alignment: Alignment.bottomRight,
children: <Widget>[
Container(
width: 400,
height: 500,
color: Colors.redAccent,
),
Icon(Icons.account_box,size: 40,color: Colors.white)
],
),
);
}
}

  • Stack组件 结合 Align组件

常用于多个元素。

Align 组件可以独立控制每个子元素的显示位置。

Align组件常用的属性:

属性 说明
alignment 配置所有子元素的显示位置
child 子组件

import 'package:flutter/material.dart';

void main() {
runApp(MaterialApp(
title: "StackWidget",
home: MyApp(),
));
} class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
width: 400,
height: 500,
color: Colors.redAccent,
child: Stack(
children: <Widget>[
Align(
child: Icon(Icons.account_box, size: 40, color: Colors.white),
alignment: Alignment.topLeft,
),
Align(
child: Icon(Icons.palette, size: 40, color: Colors.white),
alignment: Alignment.center,
),
Align(
child: Icon(Icons.shopping_cart, size: 40, color: Colors.white),
alignment: Alignment.bottomRight,
)
],
),
),
);
}
}

  • Stack组件 结合 Positioned组件

常用于多个元素。

Positioned 组件可以独立控制每个子元素的显示位置。

Positioned组件的常用属性:

属性 说明
top
子元素距离顶部的距离
bottom
子元素距离底部的距离
left
子元素距离左侧距离
right
子元素距离右侧距离
child
子组件

import 'package:flutter/material.dart';

void main() {
runApp(MaterialApp(
title: "StackWidget",
home: MyApp(),
));
} class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
width: 400,
height: 500,
color: Colors.redAccent,
child: Stack(
children: <Widget>[
Positioned(
child: Icon(Icons.account_box, size: 40, color: Colors.white),
top: 10,
),
Positioned(
child: Icon(Icons.palette, size: 40, color: Colors.white),
right: 20,
),
Positioned(
child: Icon(Icons.shopping_cart, size: 40, color: Colors.white),
left: 30,
bottom: 0,
)
],
),
),
);
}
}

Flutter——Stack组件(层叠组件)、Align组件、Positioned组件的更多相关文章

  1. Flutter学习笔记(15)--MaterialApp应用组件及routes路由详解

    如需转载,请注明出处:Flutter学习笔记(15)--MaterialApp应用组件及routes路由详解 最近一段时间生病了,整天往医院跑,也没状态学东西了,现在是好了不少了,也该继续学习啦!!! ...

  2. Flutter学习笔记(18)--Drawer抽屉组件

    如需转载,请注明出处:Flutter学习笔记(18)--Drawer抽屉组件 Drawer(抽屉组件)可以实现类似抽屉拉出和推入的效果,可以从侧边栏拉出导航面板.通常Drawer是和ListView组 ...

  3. Flutter学习笔记(24)--SingleChildScrollView滚动组件

    如需转载,请注明出处:Flutter学习笔记(23)--多 在我们实际的项目开发中,经常会遇到页面UI内容过多,导致手机一屏展示不完的情况出现,以Android为例,在Android中遇到这类情况的做 ...

  4. vue父组件异步传递prop到子组件echarts画图问题踩坑总结

    效果图: 大致思路:考虑到5张图都是折线图,所以准备用一个子组件承接echarts画图,然后父组件通过prop传递不同数据来展示不同的图 踩坑问题: 1.引入line子组件,画了5个元素,但是只显示一 ...

  5. vue组件详解(五)——组件高级用法

    一.递归组件 组件在它的模板内可以递归地调用自己, 只要给组件设置name 的选项就可以了. 示例如下: <div id="app19"> <my-compone ...

  6. C#组件系列———又一款日志组件:Elmah的学习和分享

    前言:好久没动笔了,都有点生疏,12月都要接近尾声,可是这月连一篇的产出都没有,不能坏了“规矩”,今天还是来写一篇.最近个把月确实很忙,不过每天早上还是会抽空来园子里逛逛.一如既往,园子里每年这个时候 ...

  7. JS组件系列——两种bootstrap multiselect组件大比拼

    前言:今天继续来看看bootstrap的另一个组件:multiselect.记得在项目开始之前,博主项目组几个同事就使用哪些js组件展开过讨论,其中就说到了select组件,由于项目的整体风格使用的b ...

  8. 第四节:Vue表单标签和组件的基本用法,父子组件间的通信

    vue表单标签和组件的基本用法,父子组件间的通信,直接看例子吧. <!DOCTYPE html> <html> <head> <meta charset=&q ...

  9. 一步步编写avalon组件01:弹出层组件

    avalon2已经稳定下来,是时候教大家如何使用组件这个高级功能了. 组件是我们实现叠积木开发的关键. avalon2实现一个组件非常轻松,并且如何操作这个组件也比以前的avalon2,还是react ...

随机推荐

  1. tensorflow学习 从入门到实战(转)

    原文作者:zhaozhengcoder链接:https://www.jianshu.com/p/27a2fb320934來源:简书简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处. ...

  2. UIwindow ---密码框

    程序运行显示结果如下 : 验证密码输入错误显示如下: 代码如下 : 1> ////  PasswordInputWindow.m//  UIWindow--密码框////  Created by ...

  3. springmvc+mybatis多数据源配置,AOP注解动态切换数据源

    springmvc与springboot没多大区别,springboot一个jar包配置几乎包含了所有springmvc,也不需要繁琐的xml配置,springmvc需要配置多种jar包,需要繁琐的x ...

  4. 写一个java常用的加密工具类

    1.叙述 java security包下有很多加密算法类,我们可以很简单的调用它们.他们虽然功能很全,但是使用起来步骤有些繁琐.我在这里封装来一些常用的加密算法及他们常用的一些方法,来简化代码. 工具 ...

  5. csu 1958: 数字游戏

    1958: 数字游戏 Submit Page   Summary   Time Limit: 2 Sec     Memory Limit: 128 Mb     Submitted: 134     ...

  6. iOS开发系列之app的一天

    本文主要讲述我对 iOS 开发的一些理解,希望能通过 app 从启动到退出,将一些的知识整合起来,形成一条知识链,目前涉及到的知识点有 runloop.runtime.文件存储.界面布局.离线推送.内 ...

  7. talend工具通过关键字来取得text文本中的数据

    问题描述: 在文件夹中有多个text文本,通过关键字来取得text文本里面我所需要的数据,并出力到Excel里面.取得的数据,在text文本里面可能是多行的存在,并且在Excel里面是一行的存在. 解 ...

  8. Extjs editor 设置默认值

    一.前言 Ext js 给 editor 设置默认值用 value 无效,在 Model 中添加 defaultValue 即可. 二.实例 view: Ext.define('xxxx.view.P ...

  9. 制作一个centos+jdk8+tomcatd9镜像

    docker解析:     1.登录docker             docker ecex –it 容器名/容器id /bin/bash         例如:             dock ...

  10. mysql 行(记录)的详细操作

    阅读目录 一 介绍 二 插入数据INSERT 三 更新数据UPDATE 四 删除数据DELETE 五 查询数据SELECT 六 权限管理 一 介绍 MySQL数据操作: DML =========== ...