Flutter项目试水

1基本介绍

本文章在构建您的第一个 Flutter 应用指导下进行实践

可作为项目实践的辅助参考资料

Flutter 是 Google 的界面工具包,用于通过单一代码库针对移动设备、Web 和桌面设备构建应用。在此 Codelab 中,您将构建以下 Flutter 应用。

该应用可以生成好听的英文名,例如"newstay""lightstream""mainbrake"或"graypine"。用户可以请求生成下一个英文名,收藏当前英文名,以及在单独的页面上查看收藏的英文名列表。该应用可自适用不同的屏幕尺寸。

学习内容

  • Flutter 的基本工作原理

  • 在 Flutter 中创建布局

  • 关联用户互动(如按下按钮)与应用行为

  • 让 Flutter 代码井然有序

  • 让应用能够自适用不同的屏幕尺寸

  • 让应用具有一致的外观和风格

您将从一个基本的基架开始构建应用,这样您就可以直接跳到感兴趣的部分。

2设置您的 Flutter 环境

Flutter环境配置,见在macOS上构建Flutter iOS应用-CSDN博客

3创建项目

复制代码
 import 'package:english_words/english_words.dart';
 import 'package:flutter/material.dart';
 import 'package:provider/provider.dart';
 ​
 void main() {
   runApp(MyApp());
 }
 ​
 class MyApp extends StatelessWidget {
   const MyApp({super.key});
 ​
   @override
   Widget build(BuildContext context) {
     return ChangeNotifierProvider(
       create: (context) => MyAppState(),
       child: MaterialApp(
         title: 'Namer App',
         theme: ThemeData(
           useMaterial3: true,
           colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepOrange),
         ),
         home: MyHomePage(),
       ),
     );
   }
 }
 ​
 class MyAppState extends ChangeNotifier {
   var current = WordPair.random();
 }
 ​
 class MyHomePage extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     var appState = context.watch<MyAppState>();
 ​
     return Scaffold(
       body: Column(
         children: [
           Text('A random idea:'),
           Text(appState.current.asLowerCase),
         ],
       ),
     );
   }
 }

简单实现基本框架

4添加按钮

在3的基础上添加了next按钮,类似这样的效果迁移到模拟器上

5改善应用外观

水平垂直居中,字母格式、颜色调整

6添加功能

加入like功能,将按钮关联至 toggleFavorite()

7添加侧边导航栏

8添加新页面

9后续步骤

  • 基于您在此 Codelab 中编写的应用,开展进一步的尝试和探索。

  • 查看此高级版本的同一应用的代码,了解如何添加动画列表、渐变、淡出淡入效果等。

相关推荐
fouryears_234179 小时前
Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
开发语言·flutter·客户端·dart
LinXunFeng14 小时前
Flutter - 详情页 TabBar 与模块联动?秒了!
前端·flutter·开源
阅文作家助手开发团队_山神18 小时前
第三章: 解决Android iPad蓝牙键盘联想词UI不跟随光标问题
flutter
阅文作家助手开发团队_山神18 小时前
第四章:Flutter自定义Engine本地依赖与打包流程
前端·flutter
程序员老刘18 小时前
Flutter 3.35 更新要点解析
flutter·ai编程·客户端
阅文作家助手开发团队_山神20 小时前
第一章: Mac Flutter Engine开发准备工作
前端·flutter
EmmaGuo20151 天前
flutter3.7.12版本设置TextField的contextMenuBuilder的文字颜色
前端·flutter
鹏多多.1 天前
flutter-使用device_info_plus获取手机设备信息完整指南
android·前端·flutter·ios·数据分析·前端框架
来来走走1 天前
Flutter开发 网络请求
android·flutter
SoaringHeart2 天前
Flutter进阶:高内存任务的动态并发执行完美实现
前端·flutter