Skip to content

Commit

Permalink
BugFix: Swipe/Drag Directions (#9)
Browse files Browse the repository at this point in the history
* Fix swipe directions
  • Loading branch information
cp-megh-l authored Jan 17, 2024
1 parent a841912 commit 258f4e3
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 21 deletions.
7 changes: 1 addition & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
/.idea
.DS_Store
/build
/captures
Expand Down
17 changes: 5 additions & 12 deletions .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/migrations.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import androidx.core.os.bundleOf
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.ItemTouchHelper.DOWN
import androidx.recyclerview.widget.ItemTouchHelper.END
import androidx.recyclerview.widget.ItemTouchHelper.LEFT
import androidx.recyclerview.widget.ItemTouchHelper.RIGHT
import androidx.recyclerview.widget.ItemTouchHelper.START
import androidx.recyclerview.widget.ItemTouchHelper.UP
import androidx.recyclerview.widget.LinearLayoutManager
Expand Down Expand Up @@ -95,7 +97,9 @@ fun ComposeRecyclerView(
}

val itemTouchHelper = remember {
ItemTouchHelper(object : ItemTouchHelper.SimpleCallback(UP or DOWN or START or END, 0) {
ItemTouchHelper(object : ItemTouchHelper.SimpleCallback(
config.dragDirs ?: (UP or DOWN or START or END), config.swipeDirs ?: (LEFT or RIGHT)
) {
override fun onMove(
recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,14 @@ class ItemTouchHelperConfig {
* Flag to enable or disable long press drag behavior.
*/
var isLongPressDragEnabled: Boolean = true

/**
* Swipe directions for items. If not provided, all directions are enabled by default.
*/
var swipeDirs: Int? = null

/**
* Drag directions for items. If not provided, left or right directions are enabled by default.
*/
var dragDirs: Int? = null
}

0 comments on commit 258f4e3

Please sign in to comment.