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),
          ),
相关推荐
AlfredZhao12 小时前
用 crontab 给 LLM 使用量装上“监控眼”
linux
疯狂打码的少年13 小时前
【数据库技术】关系模型基本概念(关系/属性/元组/键)
java·服务器·数据库·笔记
OPEN-F13 小时前
C++进阶教程:继承与多态
开发语言·c++
luj_176814 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
加农炮手Jinx15 小时前
Flutter for OpenHarmony 实战:flutter_animate 声明式动画让 UI 灵动如原生
flutter·ui·华为·harmonyos·鸿蒙
里欧跑得慢15 小时前
Flutter 像素级还原:设计稿到代码的视觉无损转换技巧
前端·css·flutter·web
刃神太酷啦15 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
里欧跑得慢15 小时前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
赵文宇(温玉)15 小时前
OpenEuler24.03 SP4 系统安装(欧拉/麒麟V10)
linux·openeuler·欧拉
leonkay16 小时前
C# 特性(Attribute)——【1】基础讲解
开发语言·青少年编程·面试·c#·.net·个人开发