即使不用饿了么订餐,也请务必收藏好该库!

由来

Linkage-RecyclerView 是一款基于 MVP 架构开发的二级联动列表控件。它是因 “RxJava 魔法师” 这个项目的需求而存在。

在最初寻遍了 GitHub 也没有找到合适的开源库(高度解耦、可远程依赖)之后,我决心研究参考现有开源项目关于二级联动的逻辑,并自己动手编写一个 高度解耦、轻松配置、可通过 maven 仓库远程依赖 的真正的第三方库。

Linkage-RecyclerView 的个性化配置十分简单,依托于 MVP 的 “配置解耦” 特性,使用者无需知道内部的实现细节,仅通过实现 Config 类即可完成功能的定制和扩展。

此外,在不设置自定义配置的情况下,LinkageRecyclerView 最少只需一行代码即可运行起来。

RxMagic Eleme Linear Eleme Grid
7.gif
2.gif
3.gif

目标

Linkage-RecyclerView 的目标是:一行代码即可接入二级联动列表

除了一键接入而省去 99% 不必要的、复杂的、重复的工作外,你还可以从这个开源项目获得的内容包括:

  1. 整洁的代码风格和标准的资源命名规范。
  2. MVP 架构在第三库中的最佳实践:使用者无需了解内部逻辑,通过实现接口即可轻松完成个性化配置
  3. 优秀的代码分层和封装思想,在不做任何个性化配置的情况下,一行代码即可接入。
  4. 主体工程基于前沿的、遵循关注点分离的 JetPack MVVM 架构。
  5. AndroidX 和 Material Design 2 的全面使用。
  6. ConstraintLayout 约束布局的最佳实践。
  7. 绝不使用 Dagger,绝不使用奇技淫巧、编写艰深晦涩的代码。

如果你正在思考 如何为项目挑选合适的架构 的话,这个项目值得你参考!

简单使用:

1.在 build.gradle 中添加对该库的依赖。

implementation 'com.kunminx.linkage:linkage-recyclerview:1.2.0'

2.依据联动实体类的结构简单配置 json。

[
  {
    "header": "优惠",
    "isHeader": true
  },
  {
    "isHeader": false,
    "t": {
      "content": "好吃的食物,增肥神器,有求必应",
      "group": "优惠",
      "imgUrl": "https://upload-images.io/0a94.png",
      "title": "全家桶"
    }
  },
  {
    "header": "热卖",
    "isHeader": true
  }
]
    

3.在布局中引入 LinkageRecyclerView 。




    


4.在代码中解析 json,并只用一行代码完成初始化。

List items = gson.fromJson(...);

//一行代码完成初始化
linkage.init(items);

个性化配置详见:

项目链接:https://github.com/KunMinX/Linkage-RecyclerView

你可能感兴趣的:(即使不用饿了么订餐,也请务必收藏好该库!)