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),
          ),
相关推荐
ltl4 小时前
eBPF 可观测性全景:bcc、bpftrace、libbpf 的工程路径
linux
2401_868534785 小时前
数仓开发落地手册
linux·运维
年小个大6 小时前
受 go-zero 启发,我给 Flutter 写了一套 CLI 脚手架
android·flutter·架构
BUG研究员_6 小时前
Runnable与LCEL
开发语言·人工智能·python
正在走向自律6 小时前
使用atop工具监控Linux系统指标
linux·运维·php·实时监控·atop分析内存
果果燕7 小时前
实习笔记(一):NFS、Samba、VNC、Git、CMake、systemd、内核、交叉编译
linux·arm开发·c++·笔记·git
牛艺翔8 小时前
C++基础
开发语言·c++
键盘会跳舞8 小时前
C++ :容器适配器stack源码级拆解
开发语言·c++··stack·先进后出
美味蛋炒饭.8 小时前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
yyy(十一月限定版)8 小时前
017【入门】最小栈
linux·运维·服务器