Flutter循序渐进==>基金管理APP首页

目录

查看版本

组件

组件源码学习

做个基金APP首页源代码

效果


查看版本

组件

组件的本质就是个类。

import 'package:flutter/material.dart';void main() {runApp(const OurFirstApp(),);
}
OurFirstApp()实例化,就是给runApp用的,runApp就是运行实例化的类OurFirstApp。该类又继承了StatelessWidget。 extends就是继承的意思class OurFirstApp extends StatelessWidget {const OurFirstApp({Key? key}) : super(key:key);build()传递对象context,返回Center widget@overrideWidget build(BuildContext context) {return Center(child: Container(margin: const EdgeInsets.all(5),child: const Text('贪多嚼不烂,心平气和的一行一行的敲代码!',textDirection: TextDirection.ltr,  widget Text有个命名参数textDirection规定文字方向。
)));}
}

组件源码学习

还有什么比组件源码更好的教材?上面红框的内容,第一项为类型,?可以为空,data表示关键字功能。

做个基金APP首页源代码

import 'package:flutter/material.dart';void main() {runApp(const MyFundsApp(),);
}class MyFundsApp extends StatelessWidget {const MyFundsApp({Key? key}) : super(key:key);@overrideWidget build(BuildContext context) {return const MaterialApp(title: '安远基金',debugShowCheckedModeBanner: false,home: AnyuanFundsHome(),);}
}class AnyuanFundsHome extends StatelessWidget {const AnyuanFundsHome({Key? key}):super(key:key);@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('债基投资明细'),) ,body: const AnyuanFundsBody(),);}
}class AnyuanFundsBody extends StatelessWidget {const AnyuanFundsBody({Key? key}):super(key: key);@overrideWidget build(BuildContext context) {return Column(children: [Center(child: Row(children: [Container(padding: const EdgeInsets.all(10),child: const Text('ID',textAlign: TextAlign.left,),),Container(padding: const EdgeInsets.all(10),child: const Text('名称',textAlign: TextAlign.left,),),const Expanded(child: Text('投资金额',textAlign: TextAlign.center,)),Container(padding: const EdgeInsets.all(10),child: const Text('收益',textAlign: TextAlign.left,),),Container(padding: const EdgeInsets.all(10),child: const Text('星级',textAlign: TextAlign.left,),),],),),Center(child: Row(children: [Container(padding: const EdgeInsets.all(10),child: const Text('006961',textAlign: TextAlign.left,),),Container(padding: const EdgeInsets.all(10),child: const Text('南方中债7-10年指数A',textAlign: TextAlign.left,),),const Expanded(child: Text('22000',textAlign: TextAlign.center,)),Container(padding: const EdgeInsets.all(10),child: const Text('186.02',textAlign: TextAlign.left,),),Container(padding: const EdgeInsets.all(10),child: const Text('*****',textAlign: TextAlign.left,),),],),),Center(child: Row(children: [Container(padding: const EdgeInsets.all(10),child: const Text('006493',textAlign: TextAlign.left,),),Container(padding: const EdgeInsets.all(10),child: const Text('南方中债3-5年指数A',textAlign: TextAlign.left,),),const Expanded(child: Text('3500',textAlign: TextAlign.center,)),Container(padding: const EdgeInsets.all(10),child: const Text('32.93',textAlign: TextAlign.left,),),Container(padding: const EdgeInsets.all(10),child: const Text('****',textAlign: TextAlign.left,),),],),),],);}}

效果

换种模块化思维

效果图

import 'package:flutter/material.dart';void main() {runApp(const MyFundsApp(),);
}class MyFundsApp extends StatelessWidget {const MyFundsApp({Key? key}) : super(key:key);@overrideWidget build(BuildContext context) {return const MaterialApp(title: '安远基金',debugShowCheckedModeBanner: false,home: AnyuanFundsHome(),);}
}class AnyuanFundsHome extends StatelessWidget {const AnyuanFundsHome({Key? key}):super(key:key);@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text('债基投资明细'),backgroundColor: Colors.blueAccent,) ,body: const AnyuanFundsBody(),);}
}class AnyuanFundsBody extends StatelessWidget {const AnyuanFundsBody({Key? key}):super(key: key);@overrideWidget build(BuildContext context) {return Column(children: const [RowOne(),RowTwo(),RowThree(),],);}
}class ModelContainer extends StatelessWidget {const ModelContainer({Key? key, required this.modelText,}): super(key: key);final Text modelText;@overrideWidget build(BuildContext context) {return Container(padding: const EdgeInsets.all(10),color: Colors.amberAccent,child: modelText,);}
}class RowOne extends StatelessWidget {const RowOne({Key? key,}): super(key: key);@overrideWidget build(BuildContext context) {return Center(child: Row(children: const [ModelContainer(modelText: Text('ID')),ModelContainer(modelText: Text('名称')),ModelContainer(modelText: Text('投资金额')),ModelContainer(modelText: Text('收益')),ModelContainer(modelText: Text('星级')),],),);}
}class RowTwo extends StatelessWidget {const RowTwo({Key? key,}): super(key: key);@overrideWidget build(BuildContext context) {return Center(child: Row(children: const [ModelContainer(modelText: Text('006961')),ModelContainer(modelText: Text('中债7-10')),ModelContainer(modelText: Text('22000')),ModelContainer(modelText: Text('186.02')),ModelContainer(modelText: Text('*****')),],),);}
}class RowThree extends StatelessWidget {const RowThree({Key? key,}): super(key: key);@overrideWidget build(BuildContext context) {return Center(child: Row(children: const [ModelContainer(modelText: Text('006493')),ModelContainer(modelText: Text('中债3-5')),ModelContainer(modelText: Text('3500')),ModelContainer(modelText: Text('32.93')),ModelContainer(modelText: Text('****')),],),);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/862346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自适应蚁群算法优化的攀爬机器人的路径规划

大家好,我是带我去滑雪! 攀爬机器人是一种能够在复杂环境中自主移动和攀爬的具有广阔应用前景的智能机器人,具有较强的应用潜力和广泛的研究价值。随着科技的不断发展,攀爬机器人在许多领域中的应用越来越广泛,例如建筑…

Talk|CityU 助理教授马佳葳: CVPR 2024, 基于多模态理解的混合数据专家模型

本期为TechBeat人工智能社区第604期线上Talk。 北京时间6月27日(周四)20:00,香港城市大学助理教授—马佳葳的Talk已经准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “基于多模态理解的混合数据专家模型”,他向大家介绍了混合数据专…

【合作ACM出版,稳定EI、Scopus稳定检索】第五届城市工程与管理科学国际会议(ICUEMS 2024,8月2-4)

第五届城市工程与管理科学国际会议(ICUEMS 2024)将于2024年8月2-4日在天津举行。 会议的目的是为从事城市工程、管理科学相关领域的专家、学者、工程师和技术研究人员提供一个平台,分享科研成果和前沿技术,了解学术发展趋势&…

航空电子制造业企业数字化转型:智能工厂建设

引言 航空电子制造业是航空工业的重要组成部分,涵盖了飞机的电子系统、导航设备、通信系统、自动驾驶仪等关键组件。自20世纪中期以来,航空电子技术经历了快速发展,从最初的机械和模拟设备逐步过渡到数字化、网络化和智能化系统。现代航空电子…

中国高分辨率土壤质地数据(1KM)

土壤中各粒级占土壤重量的百分比组合,叫做土壤质地。土壤质地是土壤的最基本物理性质之一,对土壤的各种性状,如土壤的通透性、保蓄性、耕性以及养分含量等都有很大的影响是评价土壤肥力和作物适宜性的重要依据。 中国土壤质地空间分布数据是根…

搭建ragflow的步骤

前提条件 CPU > 4 核 RAM > 16 GB Disk > 50 GB Docker > 24.0.0 & Docker Compose > v2.26.1 如果你并没有在本机安装 Docker(Windows、Mac,或者 Linux), 可以参考文档 Install Docker Engine 自行安装。 启动服务器 …

C盘太满怎么办

C盘红了怎么办,最常见的问题是微信装在了C盘,需要通过设置来更换缓存文件位置。 此外,如果是工作电脑,钉钉、企业微信等都有可能产生和微信同样的问题,解决方式也相同,通过设置更换文件位置。 此外&…

Linux创建目录——mkdir命令,du命令,touch用法,创建tree拓扑图

1. mkdir 命令 格式 mkdir - 参数 路径 / 目录名 参数 -p :快速创建多级目录(递归目录) -v :显示创建目录的详细过程 例: [rootserver ~] # mkdir t1 [rootserver ~] # mkdir t2 t3 t4 [rootserver ~] # mk…

什么是GPIO口,GPIO口最简单的input/output

目录 一,什么是GPIO口 二,GPIO内部结构 三,GPIO口工作模式 一,什么是GPIO口 1.GPIO口是通用输入输出端口(General-purpose input/output)的英文缩写,是所有的微控制器必不可少的外设之一&…

每日一题系列-把字符串转换成整数

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 题目 题目分析 对于这道题目而言,我们需要做到的是将字符串转换成整数。 这里我们需要注意几个点 首先我们需要保证下标在这个范围之内,所以我们会在每…

【Python】已解决:(SqlServer报错)SQL错误(208):对象名‘string_split’无效

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:(SqlServer报错)SQL错误(208):对象名‘string_split’无效 一、分析问题背景 在使用Python连接SqlSe…

第二证券:股票盘口是什么?股票盘口基础知识?

股票的盘口是指在生意过程中实时盘面数据窗口。 盘口信息有:托付份额、生意生意五档挂单数据、股票开盘价、股票收盘价、股票涨跌幅、股票最高价、股票最低价、股票价、股票的量比、股票的表里盘数据、股票的总成交量、股票的换手率、股票的总股本、股票的流通股本…

python笔记----少儿编程课程

第1课: 认识新朋友-python 知识点: 1、在英文状态下编写Python语句。 2、内置函数print()将结果输出到标准的控制台上,它的基本语法格式如下: print("即将输出的内容") #输出的内容要用引号引起来,可…

主播美颜工具开发全攻略:美颜SDK从基础到进阶的技术指南

今天,笔者将为你详细介绍美颜SDK的基础知识以及如何进行进阶开发。 一、美颜SDK基础知识 什么是美颜SDK? 美颜SDK是一种软件开发工具包,包含了一系列用于图像处理的算法和功能,主要用于实时视频处理和图像优化。开发者可以将美…

CentOS安装Docker教程(包含踩坑的经验)

目录 一.基础安装 ▐ 安装Docker 二.启动Docker服务 三.配置Docker镜像加速 一.基础安装 在安装Docker之前可能需要先做以下准备 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \docker-client \docker-client-latest \docker-…

FastGPT 手动部署错误:MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo

在运行 FastGPT 时,mongodb 报如下错误: MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo 这是因为 mongo 没有解析出来,在 hosts 文件中添加如下信息: 127.0.0.1 mongo 重新运行 FastGPT 即可。 参考链接&#xff…

昇思25天学习打卡营第4天|网络构建

文章目录 网络构建 网络构建 在打卡第一天就简单演示了网络构建,一个神经网络模型表示为一个Cell,由不同的子Cell构成。使用这样的嵌套结构可以简单地使用面向对象编程的思维,对神经网络结构进行构建和管理。 继承nn.Cell类来定义神经网络&…

【MTK平台】连接蓝牙耳机播放音乐>插入有线耳机>再拔掉有线耳机,声音会从设备中播放一秒,再切到蓝牙耳机

一般这类情况优先考虑Audio的问题 修改如下这个BTA2DP_MUTE_CHECK_DELAY_MS 参数值既可,比如增加delay 把BTA2DP_MUTE_CHECK_DELAY_MS * 4改成 BTA2DP_MUTE_CHECK_DELAY_MS *8 frameworks/base/services/core/java/com/android/server/audio/AudioDeviceBroker.j…

Harris角点检测原理及其在python-opencv的调用

文章目录 原理测试 原理 Harris 角点检测的基本思路如下:考虑一个局部的区域,将其作为一个窗口四处移动,若窗口灰度发生了较大的变化,那么,就认为窗口内存在角点,否则窗口内就不存在角点。 对于图像 I ( …

力扣随机一题 位运算/滑动窗口/数组

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 3191.使二进制数组全部等于1的最少操作次数I【中等】 题目: 给…