IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter学习 -> 正文阅读

[移动开发]Flutter学习

Flutter目录结构

在这里插入图片描述

文件夹作用
androidandroid平台相关代码
iOSiOS平台相关代码
libflutter相关代码
test用于存放测试代码
pubspec.yaml配置文件,一般存放一些第三方库的依赖

自定义组件

在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget
StatelessWidget 是无状态组件,状态不可变的 widget
StatefulWidget 是有状态组件,持有的状态可能在 widget 生命周期改变

用 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 - 抽屉菜单控件。

Flutter项目一个基本的结构

// ignore_for_file: non_constant_identifier_names

import 'package:flutter/material.dart';

/*入口文件
main 方法是 dart 的入口方法
runApp 方法是 flutter 的入口方法
MyApp()是一个自定义组件
*/
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
      //这里显示的是顶部栏
        appBar: AppBar(
        //顶部栏的标题
          title: Text('Flutter Demo'),
        ),
        //这里返回的内容是我们需要自己定义的布局样式
        body: const HomeContent(),
      ),
      //设置顶部栏主题颜色为黄色
      theme: ThemeData(
        primarySwatch: Colors.yellow,
      ),
    );
  }
}
//我们自定义的界面上的一些样式
class HomeContent extends StatelessWidget {
  const HomeContent({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return const Center(
      child: Text(
        '你好Flutter',
        textDirection: TextDirection.ltr,
        style: TextStyle(
          fontSize: 40,
          color: Colors.yellow,
        ),
      ),
    );
  }
}

在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:07:14  更:2022-01-12 00:08:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:32:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码