Flutter基础()

导航栏

appBar: AppBar()

复制代码
title: const Text('搜索')  //标题
复制代码
backgroundColor: Colors.blue   //背景颜色
复制代码
centerTitle: true //标题居中

leading 属性

作用

放置在应用栏左侧的控件,通常是一个图标按钮,用于导航或打开菜单。

Dart 复制代码
AppBar(
  leading: IconButton(
    icon: Icon(Icons.menu),
    onPressed: () {
      Scaffold.of(context).openDrawer(); // 打开侧边栏
    },
  ),
)

actions 属性

作用

放置在应用栏右侧的一组控件,通常是图标按钮,用于展示常用操作。

Dart 复制代码
AppBar(
  actions: [
    IconButton(
      icon: Icon(Icons.search),
      onPressed: () {
        // 打开搜索功能
      },
    ),
    IconButton(
      icon: Icon(Icons.more_vert),
      onPressed: () {
        // 打开更多选项菜单
      },
    ),
  ],
)

123


body

居中

Dart 复制代码
Scaffold(
  appBar: AppBar(title: Text('标题')),
  body: Center(
    child: Text('这是主要内容'),
  ),
);

垂直布局(Column)

  • MainAxisAlignment.start:子组件在主轴方向上对齐到起始位置。

  • MainAxisAlignment.end:子组件在主轴方向上对齐到结束位置。

  • MainAxisAlignment.spaceAround:子组件之间有等间距,但第一个和最后一个子组件与容器边缘的间距是其他间距的一半。

  • MainAxisAlignment.spaceBetween:子组件之间有等间距,但第一个和最后一个子组件分别对齐到容器的起始和结束位置。

  • MainAxisAlignment.spaceEvenly:子组件之间和子组件与容器边缘的间距都相等。

左边

Dart 复制代码
Scaffold(
  body: Column(
    mainAxisAlignment: MainAxisAlignment.center,   //mainAxisAlignment:这是 Row 或 Column 布局组件中的一个属性,用来指定子组件在主轴方向上的对齐方式。
    children: [
      Text('标题'),
      SizedBox(height: 16),
      ElevatedButton(
        onPressed: () {},
        child: Text('按钮'),
      ),
    ],
  ),
);

居中

Dart 复制代码
body: Center(
  child: Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: [
      Text('标题'),
      SizedBox(height: 66),
      ElevatedButton(
        onPressed: () {},
        child: Text('按钮'),
      ),
    ],
  ),
)

123

复制代码
SizedBox
Dart 复制代码
Column(
  children: [
    Text('标题'),
    SizedBox(height: 16),
    Text('内容'),
  ],
)

效果Text('标题')Text('内容') 之间会有一个高度为 16 像素的垂直间距。

水平布局(Row)

Dart 复制代码
Scaffold(
  body: Row(
    mainAxisAlignment: MainAxisAlignment.spaceEvenly,
    children: [
      Icon(Icons.star, size: 48),
      Icon(Icons.star, size: 48),
      Icon(Icons.star, size: 48),
    ],
  ),
);

居中

Dart 复制代码
return Scaffold(
      appBar: AppBar(title: const Text('个人中心')),
      body: Center(
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: [
            Icon(Icons.star, size: 48),
            Icon(Icons.star, size: 48),
            Icon(Icons.star, size: 48),
          ],
        )
      ),
    );

容器

Dart 复制代码
Scaffold(
  body: Container(
    padding: EdgeInsets.all(16), //意思就是容器内 空白16个像素点 空格 设置内边距为上下左右各16像素
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.start, // 子组件在水平方向上对齐到起始位置
      children: [
        Text('标题', style: TextStyle(fontSize: 24)), // 显示标题,字体大小为24
        SizedBox(height: 16), // 添加一个高度为16像素的垂直间距
        Expanded( // 让子组件(ListView)占据剩余空间
          child: ListView(
            children: [
              ListTile(title: Text('项目 1')), // 列表项1
              ListTile(title: Text('项目 2')), // 列表项2
              ListTile(title: Text('项目 3')), // 列表项3
            ],
          ),
        ),
      ],
    ),
  ),
);

123

相关推荐
不爱吃糖的程序媛5 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
用户66116655296528 小时前
Futter3 仿抖音我的页面or用户详情页
flutter
Haha_bj8 小时前
Flutter ——device_info_plus详解
android·flutter·ios
前端小伙计8 小时前
Android/Flutter 项目统一构建配置最佳实践
android·flutter
微祎_9 小时前
Flutter for OpenHarmony:形状拼图游戏开发全指南 - 基于Flutter CustomPaint的可拖拽矢量拼图实现与设计理念
flutter
不爱吃糖的程序媛10 小时前
解锁Flutter鸿蒙开发新姿势——flutter_ohfeatures插件集实战指南
flutter
一只大侠的侠11 小时前
React Native开源鸿蒙跨平台训练营 Day16自定义 useForm 高性能验证
flutter·开源·harmonyos
子春一11 小时前
Flutter for OpenHarmony:绿氧 - 基于Flutter的呼吸训练应用开发实践与身心交互设计
flutter·交互
ujainu11 小时前
告别杂乱!Flutter + OpenHarmony 鸿蒙记事本的标签与分类管理(三)
android·flutter·openharmony
ZH154558913112 小时前
Flutter for OpenHarmony Python学习助手实战:API接口开发的实现
python·学习·flutter