zoukankan      html  css  js  c++  java
  • Flutter 目录结构介绍、入口、自定义 Widget、MaterialApp 组件、Scaffold 组件

    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),
          ),
        );
        ;
      }
    }
  • 相关阅读:
    SEO(搜索引擎优化)已死
    C#与Java的详细比较(全)
    回眸·预言:Google媒体,称霸在2014 (转载)& 2015 update
    转载:Google calendar预览
    一个开源的ESB(企业服务总线) Celtix
    未来网虫生活图景
    今年圣诞节google标的意思
    我的生活质量
    Google Reader的午夜维护信息
    SNS网站应该更加自然
  • 原文地址:https://www.cnblogs.com/loaderman/p/11126653.html
Copyright © 2011-2022 走看看