Flutter教程 — 基础组件综合实例

简介: Flutter基础教程综合实例

前言:终于到了大家最期待的综合实例
在这里插入图片描述

阅读完这节内容可以帮你巩固提升!

正文:

老规矩先上效果图,毕竟有图有真相!
在这里插入图片描述
源码找我领取哦,在文章最下面~

先分析一下效果图
在这里插入图片描述

第一步:实现底部跳转栏

小T这里是五个Tab,所以要先定义五个Dart文件,进行一些初始配置.

然后在main引入这五个界面,并且配置跳转的图标和文字,记得定义跳转指针哦在这里插入图片描述
然后在脚手架使用:

//核心代码
return Scaffold(
  body: page[_currentIndex],
  bottomNavigationBar: BottomNavigationBar(
    items: bottomNavItems,
    currentIndex: _currentIndex,
    type: BottomNavigationBarType.fixed,
    onTap: (index) {
      setState(() {
        _currentIndex = index;
      });
    },
  ),
);

第二步:实现顶部背景和头像(写在testOne.dart文件中)

在这里插入图片描述
我们可以分析得出:需要一张背景,一张头像居中且位于背景上层,文字居中.

代码实现:

Container(
    alignment: Alignment.center,
    child: Stack(   //叠层布局,用于将头像放置于背景之上,可以参考小T的这篇布局详解
      alignment: Alignment.center, //设置为居中
      children: <Widget>[
        Container(
          width: MediaQuery.of(context).size.width, //设置宽度为屏幕宽度
          child: Image.asset(
            'images/HomePage/topImage.jpg',   //使用本地背景
          ),
        ),
        Positioned.fill(                //虚化图片的组件,可以参考我的进阶常用组件.
          child: BackdropFilter(
            filter: ImageFilter.blur(
              sigmaX: 15,
              sigmaY: 15,
            ),
            child: Container(
              color: Colors.white10,
            ),
          ),
        ),
        Container(
          width: 124,
          margin: EdgeInsets.only(top: 100),
          child: Image.asset("images/HomePage/imageHead.png"),
        )
      ],
    )),
    Container(
            child: Text(
              "阿.T",
              style: TextStyle(fontSize: 30),
            ),
          ),
          Row(  //一行的文字 
            mainAxisAlignment: MainAxisAlignment.center,  //居中布局
            children: [
              Image.asset(
                "images/HomePage/Gps.png",   
                width: 24,
              ),
              Padding(
                padding: EdgeInsets.all(5.0),
              ),
              Text(
                "杭州",
                style: TextStyle(fontSize: 20),
              ),
            ],
          ),

第三步:实现图片块

在这里插入图片描述
分析:我们可以将这一整块看作是一行,里面有两块,左边一块大的图片,右边一堆小图片,然后将右边的图片在细分为两列.

难点:1.主要是懂得Row和Column这两个行和列的布局使用

? 2.图片圆角和图片阴影,使其更为具体

代码实现: (嵌套比较复杂,建议自行理解,看代码说实话真的有点累,自己理解就行)在这里插入图片描述
需要详细代码的就去下载源码,这里就给大家分析一下难点~
图片圆角和图片阴影:

Container(
                width: 175,
                height: 175,
                margin: EdgeInsets.only(left: 14),
                decoration: BoxDecoration(
                  boxShadow: [
                    BoxShadow(
                        color: Colors.black54,
                        offset: Offset(4.0,12.0), //阴影xy轴偏移量
                        blurRadius: 15.0, //阴影模糊程度
                        spreadRadius: 1.0 //阴影扩散程度
                        ),
                  ],
                  borderRadius: BorderRadius.circular(10), //圆角
                  image: DecorationImage(
                    image: NetworkImage( 
                        "https://tva1.sinaimg.cn/large/006y8mN6gy1g7aa03bmfpj3069069mx8.jpg"),
                  ),
                ),
              ),

彩蛋:在这里插入图片描述
大家在开发中是不是经常看到这样的线,这个东西怎么实现呢:在这里插入图片描述
代码:

Container(
  color: Color.fromARGB(255, 200, 200, 200),
  height: 2,
),

是不是非常滴简单~

这样这个综合实例就完成了,希望大家有所收获.

欢迎留言纠正 ~

相关文章
|
1天前
Flutter 组件(二)文本 与 输入框组件
Flutter 组件(二)文本 与 输入框组件
86 0
|
1天前
|
容器
Flutter 组件(一)组件概述
Flutter 组件(一)组件概述
62 0
|
1天前
|
前端开发 搜索推荐 UED
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
【4月更文挑战第30天】探索Flutter的高级UI组件,如`TabBar`、`Drawer`、`BottomSheet`,提升应用体验和美观度。使用高级组件能节省开发时间,提供内置交互逻辑和优秀视觉效果。示例代码展示了如何实现底部导航栏、侧边导航和底部弹出菜单。同时,自定义组件允许个性化设计和功能扩展,但也带来性能优化和维护挑战。参考Flutter官方文档和教程,深入学习并有效利用这些组件。
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
|
1天前
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
【4月更文挑战第30天】Dart是Google为Flutter框架打造的高效编程语言,具有易学性、接口、混入、抽象类等特性。本文概述了Dart的基础语法,包括静态类型(如int、String)、控制流程(条件、循环)、函数、面向对象(类与对象)和异常处理。此外,还介绍了库导入与模块使用,帮助开发者快速入门Flutter开发。通过学习Dart,开发者能创建高性能的应用。
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
|
1天前
|
Dart
Flutter 中优雅切换应用主题的组件
【Flutter】使用adaptive_theme组件优雅切换应用主题:封装MaterialApp,支持light/dark/system模式,自定义色彩,保存选择,含调试按钮。安装配置、设置主题、监听切换、自定义颜色、读取配置步骤详细。代码示例与学习路径推荐。[查看完整教程](https://flutter.ducafecat.com/blog/flutter-app-theme-switch)
Flutter 中优雅切换应用主题的组件
|
8月前
|
人机交互
Flutter笔记 - ListTile组件及其应用
Flutter笔记 - ListTile组件及其应用
106 0
|
1天前
|
开发者 索引 容器
Flutter开发笔记:Flutter 布局相关组件
Flutter开发笔记:Flutter 布局相关组件
138 0
|
1天前
|
iOS开发
Flutter 组件(三)按钮类组件
Flutter 组件(三)按钮类组件
168 0
|
10月前
|
缓存 Dart 前端开发
Flutter 中使用 Widgetbook 管理你的组件 | 猫哥
Flutter 界面开发中我们有几个痛点 : - 与设计师协作复用一套设计规范(figma) - 可视化的管理你的组件代码(基础组件、业务组件) - 不同设备尺寸测试你的组件 - 实时修改你的测试组件参数
4218 1
Flutter 中使用 Widgetbook 管理你的组件 | 猫哥
|
7月前
|
API 开发者 索引
Flutter笔记:发布一个多功能轮播组件 awesome_carousel
awesome_carousel 模块是一个Flutter轮播图模块。可以实现包括自定义指示器、动画、滚动等等众多功能。能够指定相当多地细节(可以参考 API 部分了解)本文给出 awesome_carousel 模块的两个简单的用法示例。
92 0

热门文章

最新文章

http://www.vxiaotou.com