热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android环形list,一个非常精美的FlutterTodoList项目

介绍“一日清单”是一个小巧、简洁而又漂亮的app,它可以帮你随手记录日常的各项计划,如果你恰好有写任务计划的习惯,那么它一定非常适合你。下面࿰

405d4a51c5206b41a192a1f8402bff19.png

282f7841c9fbcb9b4141de47772483cd.png

0a0ffc288950e968df2e3ad3b3157b03.png

d69e51803fea5cfbdf3a16179fd9ba1d.png

丰富的任务图标

在app中,每项任务都会带有一个图标,而app提供了所有 Flutter 自带的 Material design 风格的图标,这些图标,你可以进行任意颜色的自定义

358ce41827974bd4892fbd56f486c4cb.png

12d3efc61265619123906209f667f27b.png

多样的自定义组合

在app中,有多项其他的操作是你可以进行自定义的

比如说主页测滑栏的头部展示内容,当然,还有一些其他的操作,就由你去自行体验了

727acf96c48f65e176ddb08eb36b9b97.png

439df77cad15a2265dffde890ae49b24.png

完成列表

当你完成了一项任务后,这个任务就会从主页转移到完成列表页面,在这里你可以看到任务的一些额外信息

1cf260d283c902be0a0f2aa14b7c9824.png

那么,对于使用者的介绍就到这里结束

下面就是为广大开发者们介绍的时间了!

面向开发者的介绍

如果你对于Flutter有着浓厚的兴趣而又迟迟没有行动,那么就不要犹豫了,快点上车吧!这个项目对于新手司机再适合不过了。

各位开发者们请扶好你们的秀发,下面就我来带领各位参观参观这个项目的内部构造

第三方库

项目中使用了一些非常优秀的第三方库,也特别感谢这些开发者们,让我的发量保持健康

下面就是这些控件的信息

项目架构

项目使用的状态管理框架是 Provider ,而整个项目的架构如下

3dccc9220370c2876b5bc1624229b398.png

View 层用于展示布局,基本上就是各种被 ChangeNotifierProvider 包裹的 StatelessWidget 页面

Model层用于处理数据,是继承了 ChangeNotifier 的各种Model类

Logic 层不会保存任何数据,只进行逻辑操作

看起来是不是和 Android 中的 MVP 模式很像呢?其实都差不多的,只是名字略有不同罢了,你也可以就把上面的模式当作是 MVP 模式。

Flutter 可以说是特别适合这种架构模式的,因为视图跟随数据而变化,你基本上不用去关心View,只要去对数据进行操作就好了。

目录结构

项目目录结构如下:

├── android

├── build

├── images

├── intl.sh

├── ios

├── lib

├── local_json

├── pubspec.lock

├── pubspec.yaml

├── res

├── svgs

├── test

└── todo_list.iml

先说明一下除了 lib 外的其他目录:

目录说明

images用于存放各种图片

local_json我将Flutter的Icon信息封装成了Json文件存放在这个目录中

res存放“国际化”插件生成的语言文件

svgs存放svg格式的图片

然后是 lib 目录

b7a2300de32dd23c93e569dcfdd5ac94.png

目录说明

config存放各种配置类,比如Dio请求封装类等

database存放数据库操作相关类

i10n存放国际化相关操作的类

items存放部分List列表的Item类

json各种网络请求、数据库等相关的json文件

logic上面提到的,Locig层的目录

modelModel层的目录

pages存放各个页面,是View层的目录

utils封装好的各️工具类,比如文件操作等

widgets封装好的各种Widget

ToDo

登录功能,账号系统

云端存储数据

附录

app下载

Android 下载地址:

Ios 下载地址:

目前尚未购买一年99$的ios开发者账号,所以暂时没有。

注意:目前项目运行环境是flutter 1.7.8 hotfix的版本,改版本相对以往而言多了一些破坏性修复,

如果你的flutter版本比当前版本低,项目中依赖的某些第三方库将无法运行,到时候请降低他们的版本

下面是在1.5.4版本下需要修改的第三方库

- flutter_svg: ^0.12.4+2

- image_crop: ^0.2.1

- photo_view: ^0.3.3

如果你觉得这个app不错,或者这个项目有帮助到你,不妨给这个项目一个Star吧。项目后面也会持续保持更新和维护!



推荐阅读
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • APKAnalyzer(1):命令行操作体验与功能解析
    在对apkChecker进行深入研究后,自然而然地关注到了Android Studio中的APK分析功能。将APK文件导入IDE中,系统会自动解析并展示其中各类文件的详细信息。官方文档提供了详细的命令行工具使用指南,帮助开发者快速上手。本文以一个RecyclerView的Adapter代理开源库为例,探讨了如何利用这些工具进行高效的APK分析。 ... [详细]
  • 手动将 Webpack 2.x 迁移到最新版 Webpack 4.8.3(当前 GitHub 最新版本)
    手动webpack2.x升级到webpack4.8.3(当前github最新版本)一直使用的webpack是2.3.3版本作为生产环境使用,看了react-create- ... [详细]
  • 本文将详细介绍如何注册码云账号、配置SSH公钥、安装必要的开发工具,并逐步讲解如何下载、编译 HarmonyOS 2.0 源码。通过本文,您将能够顺利完成 HarmonyOS 2.0 的环境搭建和源码编译。 ... [详细]
  • 基于Linux开源VOIP系统LinPhone[四]
    ****************************************************************************************** ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 尽管我们尽最大努力,任何软件开发过程中都难免会出现缺陷。为了更有效地提升对支持部门的协助与支撑,本文探讨了多种策略和最佳实践,旨在通过改进沟通、增强培训和支持流程来减少这些缺陷的影响,并提高整体服务质量和客户满意度。 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 在Spring Boot项目中,通过YAML配置文件为静态变量设置值的方法与实践涉及以下几个步骤:首先,创建一个新的配置类。需要注意的是,自动生成的setter方法默认是非静态的,因此需要手动将其修改为静态方法,以确保静态变量能够正确初始化。此外,建议使用`@Value`注解或`@ConfigurationProperties`注解来注入配置属性,以提高代码的可读性和维护性。 ... [详细]
  • 本文深入探讨了Spring Cloud Eureka在企业级应用中的高级使用场景及优化策略。首先,介绍了Eureka的安全配置,确保服务注册与发现过程的安全性。接着,分析了Eureka的健康检查机制,提高系统的稳定性和可靠性。随后,详细讨论了Eureka的各项参数调优技巧,以提升性能和响应速度。最后,阐述了如何实现Eureka的高可用性部署,保障服务的连续性和可用性。通过这些内容,开发者可以更好地理解和运用Eureka,提升微服务架构的整体效能。 ... [详细]
  • Android目录遍历工具 | AppCrawler自动化测试进阶(第二部分):个性化配置详解
    终于迎来了“足不出户也能为社会贡献力量”的时刻,但有追求的测试工程师绝不会让自己的生活变得乏味。与其在家消磨时光,不如利用这段时间深入研究和提升自己的技术能力,特别是对AppCrawler自动化测试工具的个性化配置进行详细探索。这不仅能够提高测试效率,还能为项目带来更多的价值。 ... [详细]
  • PyQt5 QTextEdit:深入解析Python中多功能GUI库的应用与实现
    本文详细探讨了 PyQt5 中 QTextEdit 组件在 Python 多功能 GUI 库中的应用与实现。PyQt5 是 Qt 框架的 Python 绑定,提供了超过 620 个类和 6000 个函数及方法,广泛应用于跨平台应用程序开发。QTextEdit 作为其中的重要组件,支持丰富的文本编辑功能,如富文本格式、文本高亮和自定义样式等。PyQt5 的流行性不仅在于其强大的功能,还在于其易用性和灵活性,使其成为开发复杂用户界面的理想选择。 ... [详细]
  • web前端菜鸟如何升级到大神(转载)标签:web前端web前端菜鸟如何升级到大神(转载)标签:web前端随着互联网的发展速度迅猛,web前端工程师越来越火热,想学习Web前端开发吗 ... [详细]
author-avatar
MEow珍
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有