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

相关推荐
向哆哆18 分钟前
构建跨端健身俱乐部管理系统:Flutter × OpenHarmony 的数据结构与设计解析
数据结构·flutter·鸿蒙·openharmony·开源鸿蒙
不爱吃糖的程序媛41 分钟前
Flutter版本选择指南:3.38.10 发布,Flutter-OH何去何从?
flutter
2601_949809591 小时前
flutter_for_openharmony家庭相册app实战+相册详情实现
javascript·flutter·ajax
灰灰勇闯IT1 小时前
Flutter for OpenHarmony:弹窗与对话框(Dialog)—— 构建清晰的上下文交互
flutter·交互
晚霞的不甘1 小时前
Flutter for OpenHarmony从零到一:构建《冰火人》双人合作闯关游戏
android·flutter·游戏·前端框架·全文检索·交互
2601_949833391 小时前
flutter_for_openharmony口腔护理app实战+饮食记录实现
android·javascript·flutter
jian110582 小时前
Android studio 调试flutter 运行自己的苹果手机上
flutter·智能手机·android studio
向哆哆2 小时前
高校四六级报名管理系统的考试信息模块实现:Flutter × OpenHarmony 跨端开发实践
flutter·开源·鸿蒙·openharmony·开源鸿蒙
jian110582 小时前
Android studio配置flutter,mac Android studio 发现苹果手机设备
android·flutter·android studio
ujainu2 小时前
Flutter + OpenHarmony 实战:《圆环跳跃》——完整游戏架构与视觉优化
flutter·游戏·架构·openharmony