Flutter 目录结构

Flutter 目录结构介绍

Flutter 目录结构介绍、入口、自定义
Widget、Center 组件、Text 组件、
MaterialApp 组件、Scaffold 组件

一、Flutter 目录结构介绍

在这里插入图片描述

文件夹作用
androidandroid 平台相关代码
iosios 平台相关代码
libflutter 相关代码,我们主要编写的代码就在这个文件夹
test用于存放测试代码
pubspec.yaml配置文件,一般存放一些第三方库的依赖。

二、Flutter 入口文件、入口方法

每一个flutter 项目的lib 目录里面都有一个main.dart 这个文件就是flutter 的入口文件
main.dart 里面的

void main(){
	runApp(MyApp());
}
//也可以简写
void main()=>runApp(MyApp());

其中的main 方法是dart 的入口方法。runApp 方法是flutter 的入口方法。
MyApp 是自定义的一个组件

三、Flutter 第一个Demo Center 组件的使用

import 'package:flutter/material.dart';
void main(){
	runApp(Center(
		child: Text(
			"我是一个文本内容",
			textDirection: TextDirection.ltr,),
		));
}

四、Flutter 把内容单独抽离成一个组件

在Flutter 中自定义组件其实就是一个类,这个类需要继承StatelessWidget/StatefulWidget
前期我们都继承StatelessWidget。后期给大家讲StatefulWidget 的使用。
StatelessWidget 是无状态组件,状态不可变的widget
StatefulWidget 是有状态组件,持有的状态可能在widget 生命周期改变

import 'package:flutter/material.dart';
void main(){
	runApp(MyApp());
}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
	// TODO: implement build
	return Center(
		child: Text(
			"我是一个文本内容",
			textDirection: TextDirection.ltr,
			),
		);
	}
}

五、给Text 组件增加一些装饰

import 'package:flutter/material.dart';
void main(){
	runApp(MyApp());
}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
	// TODO: implement build
	return Center(
		child: Text(
			"我是Dart 一个文本内容",
			textDirection: TextDirection.ltr,
			style: TextStyle(
				fontSize: 40.0,
				fontWeight: FontWeight.bold,
				// color: Colors.yellow
				color: Color.fromRGBO(255, 222, 222, 0.5)
				),
			),
		);
	}
}

六、件用MaterialApp 和Scaffold 两个组件装饰App

1、MaterialApp

MaterialApp 是一个方便的Widget,它封装了应用程序实现Material Design 所需要的
一些Widget。一般作为顶层widget 使用。
常用的属性:
home(主页)
title(标题)
color(颜色)
theme(主题)
routes(路由)

2、Scaffold

Scaffold 是Material Design 布局结构的基本实现。此类提供了用于显示drawer、
snackbar 和底部sheet 的API。

Scaffold 有下面几个主要属性:
appBar - 显示在界面顶部的一个AppBar。
body - 当前界面所显示的主要内容Widget。
drawer - 抽屉菜单控件。

import 'package:flutter/material.dart';
void main(){
	runApp(MyApp());
}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
	// TODO: implement build
	return MaterialApp(
		title:"我是一个标题",
		home:Scaffold(
			appBar: AppBar(
			title:Text('IT 营'),
			elevation: 30.0, //设置标题阴影不需要的话值设置成0.0
			),
			body: MyHome(),
		),
		theme: ThemeData( //设置主题颜色
				primarySwatch: Colors.yellow
			),
		);
	}
}
class MyHome extends StatelessWidget{
@override
Widget build(BuildContext context) {
	// TODO: implement build
	return Center(
			child: Text(
					"我是Dart 一个文本内容",
					textDirection: TextDirection.ltr,
					style: TextStyle(
					fontSize: 40.0,
					fontWeight: FontWeight.bold,
					color: Colors.black38
					// color: Color.fromRGBO(255, 222, 222, 0.5)
				),
			),
		);;
	}
}

七、Android Studio 调试Flutter 项目

1、选择真机或模拟器
2、直接运行即可

课程学自 Dart入门实战教程,此博客仅供学习,如有侵权,请联系删除。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Flutter项目的结构推荐是遵循一种清晰、模块化和可维护性的架构。以下是一个常见的Flutter项目结构推荐: 1. lib文件夹:这个文件夹是主要的代码目录,包含所有的Flutter代码文件。 2. main.dart文件:这个文件是Flutter应用的入口点,它包含了应用的初始化和启动逻辑。 3. models文件夹:这个文件夹用于存放数据模型,比如用户、商品等,通常会创建一个类来代表每个模型对象。 4. views文件夹:这个文件夹用于存放所有的视图文件,每个视图都应有一个对应的.dart文件,用来处理界面布局和交互逻辑。 5. widgets文件夹:这个文件夹用于存放所有的自定义小部件,它们是Flutter的基本构建块,可以重用和组合来构建各种界面。 6. services文件夹:这个文件夹用于存放与后台通信、数据库访问等服务相关的代码,可以使用单例模式来管理这些服务。 7. utils文件夹:这个文件夹用于存放各类工具函数,比如日期处理、网络请求等,可以以函数库的形式提供给其他部分使用。 8. assets文件夹:这个文件夹用于存放应用所需的静态资源,比如图片、字体文件等。 9. tests文件夹:这个文件夹用于存放单元测试代码,以确保应用的质量和稳定性。 以上是一种常见的Flutter项目结构推荐,它能够提供清晰的代码组织和模块化的开发方式,同时也便于协作和维护。但实际项目中,根据具体需求和团队的喜好,可能会进行适当的调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值