我尝试使用 itemTouchHelper 在 recyclerview 项目上实现滑动手势,但是默认的滑动速度非常快,我需要慢一点。如何控制滑动速度?
使用 RecyclerView ItemTouchHelper 我正在尝试为 recyclerview 列表项实现 spring 类型行为,因为我想为我的应用程序构建一个“滑动回复”功能,但是 itemTouchHelper 提供的滑动速度非常快,这对于用户体验,那么有什么方法或解决方法可以降低 itemTouchHelper 类中的滑动速度吗?
我在开发类似功能时看到了你的消息。如果您仍在寻找解决方案,以下内容可能会有所帮助:
简单除以用户动作引起的水平位移。就我而言,除以 10 效果很好。您可以根据需要调整此值。
val swipeHelper =
ItemTouchHelper(
object : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.RIGHT) {
override fun onMove(
recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder,
target: RecyclerView.ViewHolder,
) = true
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {}
override fun onChildDraw(
canvas: Canvas,
recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder,
dX: Float,
dY: Float,
actionState: Int,
isCurrentlyActive: Boolean,
) {
super.onChildDraw(
canvas,
recyclerView,
viewHolder,
dX / 10,
dY,
actionState,
isCurrentlyActive
)
}
}
)
swipeHelper.attachToRecyclerView(rvList)