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(