安卓图库开始移动或减速并停止移动

3
我正在使用Android图库,有没有监听器或者方法可以知道用户何时开始移动、停止移动、减速或移动?我看到你可以重写以下方法。
@Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
        return super.onFling(e1, e2, velocityX, velocityY);
    }

但我如何知道滚动是要停止还是开始?

1个回答

0

你正在走正路,现在根据你的显示宽度,你将比较原始速度和修改后的速度。

private float modifiedVelocityX;

private void init() {
    Display display = ((WindowManager) getContext().getSystemService(
            Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
Log.i(TAG, "Width = " + display.getWidth() + " Height = " + display.getHeight());
modifiedVelocityX = (float) (width * 1.0); //*** 1.0 = Velocity Factor.
    }

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
        float mod = velocityX < 0 ? -modifiedVelocityX : modifiedVelocityX;
if (getSelectedItemPosition() == 1 || getSelectedItemPosition() == getAdapter().getCount() - 2) {
            mod = velocityX < 0 ? -1 : 1;
        }

Log.i(TAG, "Original Velocity X was " + velocityX + " now my Modified Velocity is " + mod);
    return super.onFling(e1, e2, mod, velocityY);
}

我想知道用户开始滚动后多长时间会停止,我想在滚动停止时触发操作。 - d-man

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接