Flutter组件--重叠布局/相对布局(Stack,Positioned组件)

article/2025/9/28 19:50:46

1.Flutter Stack组件

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

属性

说明

alignment

配置所有子元素的显示位置

children

子组件

只使用Stack组件的情况下,所有的组件都是重叠在一起的,具体见下:


class MyApp extends StatelessWidget {const MyApp({super.key});@overrideWidget build(BuildContext context) {return Stack(children: [Container(height: 400,width: 300,color: Colors.red,),Container(height: 200,width: 200,color: Colors.yellow,),const Text("我们是重叠在一起的")],);}
}

2.Positioned相对定位组件 

Stack组件中结合Positioned组件也可以控制每个子元素的显示位置.

注意事项:

在使用Positioned组件的时候,必须在Positioned中为该容器设置宽度和高度.如果Positioned设置了宽度和高度,那么子组件设置宽高以后将无效.

属性说明

top

子元素距离顶部的距离

bottom

子元素距离底部的距离

left

子元素距离左侧距离

right

子元素距离右侧距离

child

子组件

width

组件的高度 (注意:宽度和高度必须是固定值,没法使用double.infifinity),只能使用final size =MediaQuery.of(context).size; 方法

height

子组件的高度

示例:

class MyApp extends StatelessWidget {const MyApp({super.key});@overrideWidget build(BuildContext context) {return Container(width: 300,height: 400,color: Colors.red,child: Stack(children: [//Positioned的组件是相对于这个Stack组件外层这个组件的.如果这个Stack组件写到我们这个根组件里面,那它这个时候就相对于我们整个屏幕,如果这个Stack组件配置到我们Container组件里面的话,那这个时候就相对于我们Container组件的位置进行定位的.Positioned(left: 0,//left和bottom是配置黄色Container相对于红色Container的位置bottom: 0,child: Container(height: 200,width: 200,color: Colors.yellow,)),const Text("你好flutter")//如果需要设置Text组件的相对位置,也需要在外层包裹一层Positioned组件.],),);}
}


http://chatgpt.dhexx.cn/article/uoLQ7NVL.shtml

相关文章

Flutter——最详细(Positioned)使用教程

Positioned简介 创建一个小组件,用于控制 [Stack] 的子项的位置。 使用场景: 可以通过坐标的形式来摆放控件的位置,堆叠布局时可以使用; 属性作用width宽度height高度top顶bottom底left左right右 注意事项: 1.如果设置…

【Flutter组件】层叠布局 Stack、Positioned

层叠布局(Stack)和 Web 中的绝对定位、Android 中的 FrameLayout 布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置。层叠布局允许子组件按照代码中声明的顺序堆叠起来。Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位。Stack允许子…

【Flutter】Flutter 布局组件 ( FractionallySizedBox 组件 | Stack 布局组件 | Positioned 组件 )

文章目录 一、FractionallySizedBox 组件二、Stack 布局组件三、Positioned 组件四、 完整代码示例五、 相关资源 一、FractionallySizedBox 组件 FractionallySizedBox 组件 : 可控制组件在水平/垂直方向上填充满父容器 ; class FractionallySizedBox extends SingleChildRen…

Flutter实战Stack与Positioned使用详解

目录 Stack Positioned 小案例 Stack Stack({Key key,this.alignment AlignmentDirectional.topStart,//未指定区域的排布方式this.textDirection,this.fit StackFit.loose,//没有定位的子组件如何去适应Stack的大小this.overflow Overflow.clip,this.clipBehavior Clip…

Flutter基础学习 13-19 Stack的Positioned属性

前边已经介绍了Stack组件,并且进行了两个组件的层叠布局,但是如果是超过两个组件的层叠该如何进行定位那?这就是我们加今天要学的主角Positioned组件了,这个组件也叫做层叠定位组件。 知识点: Positioned组件的属性&#xff1a…

《Flutter 控件大全》第六十八个:Positioned

如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit)。同时也欢迎关注我的Flutter公众号【老孟程序员】,公众号首发Flutter的相关内容。Flutter地址:http://laomengit.com 里面包含160多个组件的详细用法。Positioned用于定位Stack子组件,…

Flutter- Positioned

Positioned widget 用于定位 Stack 的子 widget。 Flutter Stack Positioned 仅用作 Stack 的直接(或后代)子部件。在 Positioned 到 Stack 的路径上,它只包含 StatelessWidget 或 StatefulWidget 小部件,不允许使用其他小部件(例如 RenderObjectWidge…

jclasslib插件使用

1、安装 File->setting->plugins->Brower Repositories 安装好后如下图 2、查看二进制码即指令

JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用

文章目录 前言一、JVM基础1、cross platform 跨平台2、cross language 跨语言3、什么是JVM呢?一张图告诉你4、java从编码到执行*****5. 从跨平台的语言到跨语言的平台6. jvm与class文件格式7. JVM8. javac的过程9. 常见的JVM实现10. JDK JRE JVM 二、Class File For…

如何在IDEA中使用 Jclasslib

在插件中安装jclasslib,然后重启IDEA 选中你的java文件,然后View->Show ByteCode With Jclasslib即可

android studio 字节码查看工具jclasslib bytecode viewer

jclasslib bytecode viewer 是一款非常好用的.class文件查看工具; jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. Many aspects of class files can be edited in the UI. In addit…

Jclasslib 试用

简述: jclasslib 是一个查看class文件的工具 TestJclasslib.java package com.anialy.test;public class TestJclasslib {private String str "Im TestJclasslib";private void print(){System.out.println(str);}public static void main(String[] arg…

jclasslib修改class文件

今天看到别人写的用工具jclasslib直接修改别人jar包里面的class文件,我自己也学着写了一下,发现果然很强大,但是也遇到一些坑 public class JVMTest {public static void main(String[] args) {long maxMemory Runtime.getRuntime().maxMemory(); //返…

通过jclasslib修改class文件

问题描述:在开发中遇到使用第三方jar时想要修改里边某个class文件的情况 解决方法: 通过jclasslib直接修改class文件 安装jclasslib 可以通过下载jclasslib软件来安装(不推荐) 在IEDA插件中搜索安装jclasslib Bytecode Viewer&a…

IDEA利用jclasslib 修改class文件

IDEA利用jclasslib 修改class文件 idea安装jclasslib-bytecode-viewer插件准备好class文件使用jclasslib使用下列代码更改内容。其他 idea安装jclasslib-bytecode-viewer插件 file–>settings–>plugis ,搜索安装jclasslib-bytecode-viewer,重启i…

jclasslib

JClassLib不但是一个字节码阅读器而且还包含一个类库允许开发者读取,修改,写入Java Class文件与字节码。 https://github.com/ingokegel/jclasslib jclasslib bytecode viewer Purpose jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java cl…

利用jclasslib工具直接修改第三方jar包里面的class文件(亲测可用)

如果出于某些原因,需要修改第三方jar包里的class文件,我们能有什么办法呢? 直接修改肯定是运行不了的,这里我给大家介绍一个小工具jclasslib,因为我的电脑是64位的,所以这里就安装64位版 下载地址:https:…

jclasslib的使用

作用: JClassLib不但是一个字节码阅读器而且还包含一个类库允许开发者读取,修改,写入Java Class文件与字节码 jclasslib下载:https://bintray.com/ingokegel/generic/jclasslib/view 我们在这里使用jclasslib查看局部变量表(保存java中方法…

【jvm系列-02】jvm的类加载子系统以及jclasslib的基本使用

JVM系列整体栏目 内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈…

如何利用JClassLib修改.class文件

最近在学习逆向分析和反编译,无意之中了解到了JClassLib。JClassLib不但是一个字节码阅读器而且还包含一个类库允许开发者读取,修改,写入Java Class文件与字节码。其他的用途我就不说了,先看一下效果。 第一步、准备下载工具,一个是jd-gui&am…