Drag Select Compose:实现多平台图片多选功能的利器
在现代移动应用开发中,图片多选功能是一个常见且实用的需求。而实现这种功能可能涉及到复杂的手势处理和状态管理。今天,我将介绍一款强大的Compose多平台库——Drag Select Compose,它能够轻松实现类似于Google Photos的多选功能,并支持多平台使用。
适用平台
Drag Select Compose是一个为Compose多平台编写的库,支持以下平台:
- Android
- iOS
- JVM(桌面)
- JavaScript/WASM(浏览器)
灵感来源
这个库的灵感来源于这篇文章以及这个gist。同时,还借鉴了drag-select-recyclerview库的设计思路。
设置
您可以通过Gradle将该库添加到项目中。以下是单平台和多平台的设置方法。
单平台设置
在单平台项目(如Android)中添加依赖:
dependencies {// 包含核心功能和所有可选模块implementation("com.dragselectcompose:dragselect:2.3.0")// 或者选择需要的模块// 核心功能implementation("com.dragselectcompose:core:2.3.0")// 为Grid项添加语义和toggle修饰符的可选扩展implementation("com.dragselectcompose:extensions:2.3.0")// 为LazyGrid实现选择UI的可选包装器implementation("com.dragselectcompose:grid:2.3.0")
}
多平台设置
在多平台项目中添加依赖:
kotlin {sourceSets {commonMain {dependencies {// 包含核心功能和所有可选模块implementation("com.dragselectcompose:dragselect:2.3.0")// 或者选择需要的模块// 核心功能implementation(