Flutter基础(前端教程④-组件拼接)

基础1

Dart 复制代码
class MainPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(  // 或者用 Row,取决于你想要垂直还是水平排列
        children: [
          Bg(),
          TopAppBar(),
          WelcomeBanner(),  // 第一个 widget
          Tabs(),   
          Frame63(),
        ],
      ),
    );
  }
}

基础2

Dart 复制代码
class MainPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SingleChildScrollView(  // 添加滚动支持
        child: Stack(
          children: [
            Bg(),  // 背景在最底层
            Column(
              children: [
                TopAppBar(),
                WelcomeBanner(),
                Tabs(),
                Frame63(),
              ],
            ),
          ],
        ),
      ),
    );
  }
}

Stack 组件的作用是让多个组件按层叠顺序显示,类似 Photoshop 中的图层概念。

Stack 允许子组件相互叠加,通过 Positioned 或顺序控制层级关系。在你的代码中:

  • 第一层Bg() 作为背景,占据整个屏幕
  • 第二层Column() 包含的内容(如 TopAppBarWelcomeBanner 等)显示在背景之上

基础3(增加间距)

Dart 复制代码
class MainPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SingleChildScrollView(  // 添加滚动支持
        child: Stack(
          children: [
            Bg(),  // 背景在最底层
            Column(
              children: [
                TopAppBar(),
                WelcomeBanner(),
                Tabs(),
                Frame63(),
                SizedBox(height: 55.0), // 此处的16.0表示间距大小,你可按需调整
                Headline(),
                SizedBox(height: 33.0),
              ],
            ),
          ],
        ),
      ),
    );
  }
}

在 Flutter 中,double.infinity 是一个特殊的数值,表示无限大。它主要用于在布局中让组件尽可能地占据可用空间。不过,这个值的使用需要谨慎,因为它可能会导致布局错误。

相关推荐
leobertlan2 小时前
2025年终总结
前端·后端·程序员
子兮曰3 小时前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
百锦再3 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
莲华君3 小时前
React快速上手:从零到项目实战
前端·reactjs教程
百锦再3 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
易安说AI4 小时前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
失忆爆表症5 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录5 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜6 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛6 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter