我正在开发一个非常基本的应用程序,显示一些带有图像和文本的卡片。它的工作完美,因为它的中心位置很好,而且很好。然而,当我快速滚动/快速滚动时,登陆的卡可以是当前卡的第三个甚至是第四个。
我想限制它,以便当用户向右移动(无论多快)时,它应该只落在前一张卡上,如果他/她向左移动,它应该转到下一张直接卡。是否可以这样做?
答案 0 :(得分:0)
在你的情况下,我认为你应该通过改变投掷的速度来解决它, RecyclerView有fling方法,你只需覆盖它。
float FLING_SPEED = 0.5f;
@Override
public boolean fling(int velocityX, int velocityY)
{
// FLING_SPEED between (0, 1) => slow down, greater 1 => speed up
// velocityY for vertical, velocityX for horizontal
velocityY *= FLING_SPEED;
return super.fling(velocityX, velocityY);
}