Skip to content

ChawLoo/MultiLevelSelector

Repository files navigation

MultiLevelSelector

介绍

MultiLevelSelector是一个针对多级别的选择封装的选择器,它是一个纯粹的选择器,属于自定义View故,可以放在Activity/Fragemnt的布局中的任意位置,也可以放在PopupWindow中作为一个弹窗选择器。

环境依赖

因需要用到列表,故本身依赖RecyclerView和BaseRecyclerViewAdapterHelper适配器框架。

//项目根目录build.gradle
allprojects {
   repositories {
      google()
      mavenCentral()
   }
}
// Project dependencies
dependencies {
   implementation 'io.github.chawloo:MultiLevelSelector:1.0.2'
}
//项目根目录build.gradle.kts
allprojects {
   repositories {
      google()
      mavenCentral()
   }
}
// Project build.gradle.kts  dependencies
dependencies {
   implementation("io.github.chawloo:MultiLevelSelector:1.0.2")
}

选择器使用说明

选择器支持目前支持两种模式

  • TYPE_ONLY_ONE_LIST_MODE = 0//同一级列表

    所有N级列表均为同一级列表,例如:

[
    {
        "id":1,
        "lastId":-1
    },
    {
        "id":12,
        "lastId":1
    }
]
  • TYPE_CHILDREN_NEXT_MODE = 1//包含下一级列表模式
[
    {
        "id":1,
        "lastId":-1,
        "child":[
            {
                "id":12,
                "lastId":1,
                "child":[
                    {
                        "id":121,
                        "lastId":12
                    }
                ]
            },
            {
                "id":13,
                "lastId":1
            }
        ]
    }
]

默认初始一级的lastId为-1,如需增加新的,可提Issues来增加需求

更新日志

【Release】1.0.2 (2021年11月17日) 1.0.2以前的被吃了,因为创建了仓库,没有上传AAR和依赖 QAQ 第一版上线了,目前应用于自家项目,也经过测试,欢迎引用,

【Release】1.0.3 (2022年6月17日) 1.更新了IMultiLevelEntity接口中的属性改为val 2.升级Gradle

例子预览

  1. 整体预览 image
  2. 单List截图 image
  3. 多级列表 image

打赏(您的支持是我持续更新的动力)

image