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),
          ),
相关推荐
Sarvartha13 小时前
final 关键字
java·开发语言
程序员Sunday13 小时前
JavaScript 事件循环面试题,宏任务与微任务怎么执行|Sunday面试指南
开发语言·javascript·面试·校招·事件循环·程序员sunday
_upupup13 小时前
Linux的调试工具——gdb/cgdb
linux·服务器
JeJe同学14 小时前
Docker镜像导入、容器启动
linux·运维·docker
Jason_zhao_MR14 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
zhangzeyuaaa14 小时前
Ruby 多线程、GVL(GIL)与 Mutex 完全指南
开发语言·前端·ruby
闲云野鹤在人间15 小时前
MySQL|从理论、安装、备份到主从复制、MHA高可用详解
linux·运维·数据库·mysql·云计算
谢亮_vipxieliang15 小时前
用 PHP 构建轻量级 REST API:从路由到鉴权的完整实践
开发语言·后端·php
思无邪6615 小时前
用 AI 做 JS 逆向:从抓包到复现的完整方法论
开发语言·javascript·人工智能
一个风轻云淡16 小时前
GCC 和 GDB命令简单解读
java·linux·前端