博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flutter 目录结构介绍、入口、自定义 Widget、MaterialApp 组件、Scaffold 组件
阅读量:4993 次
发布时间:2019-06-12

本文共 1795 字,大约阅读时间需要 5 分钟。

Flutter 目录结构介绍

 

文件夹

作用

android

android 平台相关代码

ios

ios 平台相关代码

lib

flutter 相关代码,我们主要编写的代 码就在这个文件夹

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 把内容单独抽离成一个组件

 

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

StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变

 


MaterialApp Scaffold两个组件 装饰 App、

 

1MaterialApp

MaterialApp 是一个方便的 Widget,它封装了应用程序实现 Material Design 所需要的 一些 Widget。一般作为顶层 widget 使用。

 

常用的属性:

home(主页)

title(标题)

color(颜色)

theme(主题)

routes(路由)

...

 

2Scaffold

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) {    return MaterialApp(      title: "我是一个标题",      home: Scaffold(        appBar: AppBar(          title: Text('Loaderman'),          elevation: 15.0,        ),        //设置标题阴影        body: MyHome(),      ),      theme: ThemeData(          //设置主题颜色          primarySwatch: Colors.yellow),    );  }}class MyHome extends StatelessWidget {  @override  Widget build(BuildContext context) {    return Center(      child: Text(        "我是 loaderman",        textDirection: TextDirection.ltr,        style: TextStyle(            fontSize: 15, fontWeight: FontWeight.bold, color: Colors.black),      ),    );    ;  }}

 

 

 

 

转载于:https://www.cnblogs.com/loaderman/p/11126653.html

你可能感兴趣的文章
c# 多张图片合成一张图片
查看>>
使用SQL Server 2008的事务日志传送功能备份数据库(logshiping)
查看>>
AngularJS多个ng-app只解析第一个的问题
查看>>
强制修改常量的值
查看>>
Grunt 初体验
查看>>
hive跑mapreduce报java.lang.RuntimeException: Error in configuring object
查看>>
ArcGIS中的坐标系统定义与投影转换方法
查看>>
机械臂的碰撞检测资料
查看>>
[UnityShader基础]01.渲染队列
查看>>
字符串转整型C++
查看>>
随机生成红包算法
查看>>
Datatable get请求传参应用
查看>>
杭电1170
查看>>
3unit8
查看>>
kettle与各数据库建立链接的链接字符串
查看>>
【转】Apache Solr 访问权限控制
查看>>
LoadRunner压力测试实际运用的使用方法
查看>>
项目管理理论与实践(1)——企业项目管理介绍
查看>>
MySql学习20----数据库范式
查看>>
[Mark]The problems & solutions of vmware vsphere
查看>>