tk挠痒痒网址发布页-秘密武器
历史搜索

P15. Flutter Stack层叠布局

游客2025-05-16 06:33:02
目录文章目录
  1. 层叠布局的 alignment 属性
  2. CircleAvatar 组件的使用
  3. 效果代码
  4. Stack 的 Positioned 属性
  5. Positioned 组件的属性
  6. Demo 实例

水平布局和垂直布局确实很好用,但是有一种情况是无法完成的,比如放入一个图片,图片上再写一些字或者放入容器,这时候RowColumn就力不从心了,Flutter 为这种情况准备了Stack层叠布局。

层叠布局的 alignment 属性

alignment属性是控制层叠的位置的,建议在两个内容进行层叠时使用。它有两个值 X 轴距离和 Y 轴距离,值是从 0 到 1 的,都是从上层容器的左上角开始算起的。

CircleAvatar 组件的使用

CircleAvatar这个经常用来作头像的,组件里边有个radius的值可以设置图片的弧度。

现在我们准备放入一个图像,然后把弧度设置成 100,形成一个漂亮的圆形,代码如下:

new CircleAvatar(
  backgroundImage: new NetworkImage('https://media.mybj123.com/wp-content/uploads/2021/03/1616051944-7e3cbdfbc059e26.jpg'),
  radius: 100.0,
),

效果代码

想布局出这个效果还是比较容易的,代码如下:

import 'package:flutter/material.dart';
void main () => runApp(MyApp());

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context ){
      var stack = Stack(
        alignment: const FractionalOffset(0.5, 0.8),
        children: [
          CircleAvatar(
            backgroundImage: new NetworkImage('https://media.mybj123.com/wp-content/uploads/2021/03/1616051944-7e3cbdfbc059e26.jpg'),
            radius: 100.0,
          ),
          Container(
            decoration: BoxDecoration(
              color: Colors.lightBlue,
            ),
            padding: EdgeInsets.all(5.0),
            child: Text(' Mybj'),
          )
        ],
      );

      return MaterialApp(
        title:'ListView widget',

        home:Scaffold(
          appBar: AppBar(
            title: Text('垂直方向布局'),
          ),
          body:Center(child:stack),
        ),
      );
  }
}

效果如下:

P15. Flutter Stack层叠布局 1

是不是觉的有了 Stack 层叠布局,我们在 Flutter 中的布局就更加灵活了那。小伙伴们可以动手实现一个你常见的布局效果。

标签:Alignment

本文是由用户"游客"发布,所有内容的版权归原作者所有。没有经过书面许可,任何单位或个人不得以任何形式复制、转载、引用本网站的内容。否则将追究法律责任。

相关专题