flutter windows的SizedBox组件示例

这段Flutter代码是一个简单的应用程序,它展示了SizedBox widget的几种不同用法。

import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('SizedBox Combined Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              // 固定尺寸容器
              SizedBox(
                width: 200,
                height: 150,
                child: Container(
                  color: Colors.blue,
                  child: Center(
                    child: Text(
                      '固定尺寸容器',
                      style: TextStyle(fontSize: 24, color: Colors.white),
                    ),
                  ),
                ),
              ),
              SizedBox(height: 20), // 添加垂直间距
              // 布局控制:两个相同尺寸的容器
              Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  SizedBox(
                    width: 100,
                    height: 100,
                    child: Container(
                      color: Colors.red,
                    ),
                  ),
                  SizedBox(width: 20), // 添加水平间距
                  SizedBox(
                    width: 100,
                    height: 100,
                    child: Container(
                      color: Colors.green,
                    ),
                  ),
                ],
              ),
              SizedBox(height: 20), // 添加垂直间距
              // 尺寸调整:一个展开的按钮和一个收缩的按钮
              SizedBox.expand(
                child: ElevatedButton(
                  onPressed: () {},
                  child: Text('Expand Button'),
                ),
              ),
              SizedBox(height: 20), // 添加垂直间距
              SizedBox.shrink(
                child: ElevatedButton(
                  onPressed: () {},
                  child: Text('Shrink Button'),
                ),
              ),
            ],
          ),
        ),
      ),
    ),
  );
}

以下是对这段代码的分析:
一、整体结构
这段代码是一个使用 Flutter 框架编写的 Dart 应用程序。主要功能是展示了不同使用场景下的 SizedBox 组件,包括固定尺寸容器、布局控制以及尺寸调整。

二、导入部分
import ‘package:flutter/material.dart’;:导入了 Flutter 的 Material 库,这是 Flutter 中常用的 UI 组件库,提供了丰富的 Material Design 风格的组件。

三、main 函数部分
runApp 方法启动了整个 Flutter 应用程序,传入的参数是一个 MaterialApp 组件。
MaterialApp 是 Flutter 中的一个顶级组件,用于定义应用的整体外观和行为。它包含了一些常用的属性,如 home 表示应用的主页面。
home 属性设置为一个 Scaffold 组件,Scaffold 提供了一个基本的页面布局结构,包括 appBar(应用栏)、body(主体内容)等部分。

AppBar 部分:
title 属性设置为一个 Text 组件,显示应用栏的标题为 “SizedBox Combined Example”。

body 部分:
使用 Center 组件将内容居中显示。
Column 组件用于垂直排列子组件。
子组件包括多个 SizedBox 和容器、按钮的组合。

四、SizedBox 的使用场景

固定尺寸容器:
通过设置 width 和 height 属性,创建了一个固定尺寸为 200x150 的 SizedBox。
在 SizedBox 内部放置了一个蓝色的 Container,并在容器内使用 Center 和 Text 组件显示文本 “固定尺寸容器”,文本样式为字号 24、白色。

布局控制:
在 Row 组件中,使用多个 SizedBox 来控制水平间距。
每个 SizedBox 内部放置了一个固定尺寸为 100x100 的红色或绿色 Container,用于展示两个相同尺寸的容器并排显示,并通过 SizedBox 调整它们之间的水平间距。

尺寸调整:
SizedBox.expand 创建了一个占据尽可能多空间的 SizedBox,内部放置了一个 ElevatedButton,按钮文本为 “Expand Button”。
SizedBox.shrink 创建了一个尽可能缩小尺寸的 SizedBox,内部也放置了一个 ElevatedButton,按钮文本为 “Shrink Button”。

综上所述,这段代码通过使用 SizedBox 组件展示了如何在 Flutter 中进行布局控制和尺寸调整,以实现更加灵活的 UI 设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值