Flutter 中 Row

131 阅读1分钟

在Flutter中,Row是一个用于水平排列其子组件的布局控件。Row控件允许开发者将子组件按照水平方向依次排列,子组件会依次从左到右排列。

以下是一个简单的示例代码,演示如何在Flutter应用中使用Row布局控件:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Row Example'),
        ),
        body: Center(
          child: Row(
            // 设置子组件在垂直方向上的对齐方式
            mainAxisAlignment: MainAxisAlignment.center,
            // 设置子组件在水平方向上的对齐方式
            crossAxisAlignment: CrossAxisAlignment.center,
            children: [
              // 第一个子组件:一个文本
              Text('Item 1'),
              // 添加一个间隔
              SizedBox(width: 10),
              // 第二个子组件:一个图标
              Icon(Icons.favorite),
              // 添加一个间隔
              SizedBox(width: 10),
              // 第三个子组件:一个按钮
              ElevatedButton(
                onPressed: () {
                  // 按钮点击事件
                },
                child: Text('Button'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,包含一个带有标题的AppBar和一个居中显示的Row布局控件。Row中包含了三个子组件,分别是一个文本、一个图标和一个按钮。

Row控件中,我们设置了以下属性:

  • mainAxisAlignment:设置子组件在水平方向上的对齐方式为居中对齐。
  • crossAxisAlignment:设置子组件在垂直方向上的对齐方式为居中对齐。

除了示例中提到的属性之外,Row还有其他属性可用于进一步定制子组件的布局,例如mainAxisSize用于设置Row在主轴(水平方向)上的大小,textDirection用于设置子组件的文本方向等。Row非常灵活,可以根据应用程序的需求进行定制。