【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线


严重更新篇是有严重功用支撑是的相关文章,进行介绍,文尾会附带这段时刻的更新状况


前语

通过一周的更新,处理了不少bug, 感谢我们的支撑,项目star个数也已破千
Flutt_ E [ z ^ ^ zes V _ s ir Unit 于今日上线一个重要的功用W s – . F l模块组件保藏j k g 4 i W L _,丝滑的操作等你体验。
欢迎star : github.com/toly1994328…

FlutterUnit.apk 下载 GiD e 4 ( V Gthub仓库地址
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线

因为数据库变动,下载新版前,手机中如有旧版,请先卸载。


一、保藏夹全体介绍

1. 保藏夹的操作

保藏夹规划的初衷是: Flutter中的组件十分多,分类页并不明确
作为集卡癖的我很想有个保藏的接口,u 6 c A & D Y T让我能自在保藏分类。
应用中默许给出了12种分类方法,也便是16 ( 3 = ~ 82个保藏夹,且210+组件z f 0 w已录入相应保藏夹
当然你能够自在的创建、修正、删去它们。保藏集还能够指定色彩用以区别。

增加保藏集 修正保x } , Q藏集; / I $ l 删去保藏集
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线

2. 组件的保藏与撤销操作

数据库表选用widgetcategory一对多的结构,录入组件。
在每个概况页的右滑菜单中能够检查当前组件的保藏信息,
T f G R 7 保藏B 0 6 p Y夹名称时时能够切换该组件是否录入。在保藏夹里边能够左滑删去

删去与数据同步 组件参加保藏I 3 / L 保藏集支` J ( L撑多选
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线

3.全体作用

对保藏夹页面全体进行优化,作用. P P ) K & c如下,保留了默许保藏集。
点击保藏夹会进入保藏p ? ! H 0 5 0的内容,每个item也能够点击进入概况页t t v X 2 N q

滑动作用 长按右菜单滑页 概况内长按展现保藏菜单
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线

4.彩蛋: 左右滑栏

许多朋友反映左右滑栏与系统的侧滑回来抵触,所以特意设置了滑栏的小彩蛋
主页长按底部左侧按钮可翻开左侧滑栏
主页长按底部右侧按钮可翻开右侧滑栏
概况页长按顶部房子按钮可翻开右侧滑栏

长按左菜单滑页 长按右菜单滑页 概况内长按展现D { p H保藏菜单
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线

二、保藏夹完成相关

1.+ n ` Q 7 { # j 基于bloc 完成事务逻辑与界面的分离

  • 原始数据层面使用Categor Y ;yDao进行数据库的交互,即增删查改
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线

  • CategoryRepository担任数据的存储和F H f 6 4操作接口,CategoryDbRepositor* V # Ly为数据库资源完成方法
  • 这样处理的优点是一致操作接口,未来假如使用线上数据,完成Categorys e 9 X b N GNetRepository即可,其他全体逻辑不需要改动,即方便拓宽。
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
abstract class CategoryRepository {
//` ~ u !切换一个组件在保藏夹中的状况
Future<void> toggleCategory(int categoryId, int widgetId);
// 检查一个组件是否在保藏夹内
Future<bool> check(int categoryId,int widgetId);
// 获取一个保藏夹中的一切组件
Future<List<WidgetModel>> loadCategoryA = 8 U B Y GWG Z ) 8 Q ~ L U :idgets({int categoryId = 0});
// 获取一切保藏集
Future<List<CategoryModeJ { f ~ b ?l>> loadCategories();
//增加保1 8 & x n l P c藏集
Future<bool> addCategory(CategoryPo categoryPo);
//更新保藏集
Future<bool> updateCategoryX % ?(CategoryPo categoT H 9 t C a 5ryPo);
//删去保藏集
Futu( 8 re<void> deleteCategory(int id);
//检查某个组件在哪些保藏集中
Future&A B S 8  ~ I  Glt;List<int>> getCategoryByWidq * * w 1 {  y Eget(int widgetId);
}

  • CategoryBloc担任保藏夹自身的事~ [ Q ` 4务操作,依据事情回8 n *来状况
  • CategoryWidgetBloc 担任保藏夹中组件的事务操作,依据! w ^ ? 3 ` W ? d事情回来状况
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
  • 最后/ N n c W界面依据事情映射出的状况进行显现,即可。
  • 这儿触及j 5 r了许多状况的同步,用bloc就十分方便。(不引战,状况管理工具你爱用啥用啥。 J O = U ? *)
  • 中心差不多也就这些,其他的便是界面的规划,具体的东西仍是自己看看源码吧。

2.保藏的表结构

category表widget表是相对独立的,担任各自的信息记录
通过category_widget表来主张G : 9 v ] – l一对多的关系,剩下的便是sql的能力了。

【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线
【Flutter Unit 重大更新 1 】超好用的组件收藏夹上线

三、更新记录 1

  • 2020-4-16
fixedS [ 1 h h b s "     修正款式无法点击的问题。
fixed "     一些已知文案的过错。
fixed "     hero动画闪现不同步问题。

  • 2020-4-17
fixed "     进入保藏页,M q D r ~ : ,再回到主页,顶部显现不同步的问题。
fixed "m N e 3 4 E ,     主页item双击黑屏问题。
feature "   支撑概况页【相关链接的栈管6 S P 9 I J F g理】,
"   即: 点击多个链接,不直接回来主页.

  • 2020-4-18
feature "   小彩蛋: 【长按】底部栏【最左侧按钮】,翻开左面菜单栏
"   【长按】底部栏【最右侧按钮】,翻开右边菜单栏
fixed "     保藏集的AppB/ t ? b t @ [ar背景色同主页选中色。

  • 2020-4-19
optimize "   增加录入【LayoutBuilder】组件
optimize "   增加录入【IgnorePointer】组件
optimize "   增加录入【AbsorbPointer】组件
optimize "   增加录入【BackdropFilter】组件

  • 2020-4-21
feature "   使用Sliver优化保藏集的显现

  • 2020-4-24
feature "   完R _ @ P成组件保藏夹功用

结尾

欢迎Star和关注FlutterUnit 的发展,让我们一同携手,成为Unit一员。
另外自己有一个Flutter微信沟通群,欢迎小伙伴参加,共同讨~ c a d & Z g论Flutter的问题,期待与你的沟通与商b r K y讨。

@张风捷特烈Q u i 6 3 c o 0 2020.04.024 未允禁转
我的X : T Q @ ` [ Y公众号:编程之王
联络我--邮箱:1981462002@qq.com --微信:zdl1994328
~ END ~

发表评论

提供最优质的资源集合

立即查看 了解详情