Flutter第九节-----Align与Padding实战指南

一.基础容器-Align-对齐组件

●作用:精确控制其子组件在父容器空间内的对齐位置

●alignment(对齐方式):子组件在父容器内的对齐方式。

●widthFactor(宽度因子):Align的宽度将是子组件宽度乘以该因子

●heightFactor(高度因子):Align的高度将是子组件高度乘以该因子对齐组件

Dart 复制代码
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main(List<String> args) {
  runApp(pagewidget());
}

class pagewidget extends StatelessWidget {
  const pagewidget({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Align组件实例",
      home: Scaffold(
        appBar: AppBar(title: Text("Align组件实例")),
        body: Container(
          color: Colors.blue, //设置置于哪个方向,这块是最中间
          child: Align(
            alignment: Alignment.center,
            child: Icon(
              Icons.star,
              size: 150,
              color: CupertinoColors.systemYellow,
            ),
          ),
        ),
      ),
    );
  }
}

●使用场景:当需要将一个组件放置在父容器的特定角落,Aign是理想选择。

●动态尺寸:通过widthFactor和heightFactor,可以创建出与子组件大小成比例的容器,动态布局中很有用

二.内边距组件-Padding

●作用:为其子组件添加内边距

●四个方向设置相同间距-使用Edgelnsets.all进行四个方向设置

Dart 复制代码
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main(List<String> args) {
  runApp(pagewidget());
}

class pagewidget extends StatelessWidget {
  const pagewidget({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Align组件实例",
      home: Scaffold(
        appBar: AppBar(title: Text("Align组件实例")),
        body: Container(
          decoration: BoxDecoration(color: CupertinoColors.systemYellow),
          child: Padding(
            padding: EdgeInsets.only(left: 10, top: 10),
            child: Container(color: Colors.blue),
          ),
        ),
      ),
    );
  }
}

Dart 复制代码
child: Padding(
            padding: EdgeInsets.symmetric(horizontal: 50, vertical: 20),
            child: Container(color: Colors.blue),
          ),
相关推荐
weixin_516023075 小时前
LAMMPS(intel)的安装
linux·服务器
代码AC不AC5 小时前
【Linux】Socket编程UDP
linux·udp·socket编程
快乐星空Maker5 小时前
C++【生存游戏】开发:荒岛往事 第三期
开发语言·c++·游戏·编程语言
郝学胜-神的一滴5 小时前
Qt 高级编程 035:无边框窗口阴影以及圆角双特效实现
开发语言·c++·qt·程序人生·用户界面
正在走向自律5 小时前
实战心得:利用PaddleOCR彻底解决大模型无法解析图片型PDF的问题
开发语言·pdf·视觉检测·paddleocr·视觉模型·离线ocr识别
Brilliantwxx6 小时前
【Linux】基础指令
linux·运维·服务器
怒放de生命20106 小时前
【web3基础】go-zero创建rpc服务,创建配置文件(二)
开发语言·rpc·golang·web3
麻瓜老宋6 小时前
AI开发C语言应用按步走,我的基础开发环境
c语言·开发语言
ZhemgLee6 小时前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·运维·服务器·ssh
CHANG_THE_WORLD6 小时前
4.串行接受多个客户端
linux