0

我有一个大于屏幕尺寸的图像视图,所以我使用一个Scroller对象myScroller来处理滚动。但是,我无法获得正确的当前滚动位置

我尝试使用 Scroller 开发人员指南中概述的方法:

  • myScroller.getCurrX()myScroller.getCurrY()
  • myScroller.getStartX()myScroller.getStartY()

然后是类的getScrollX()andgetScrollY()方法View......哪些是正确的使用方法?

我正在更新 onTouchEvent 下的位置case MotionEvent.ACTION_UP

case MotionEvent.ACTION_UP:

        //if(mScroller.isFinished()){
        mScroller.computeScrollOffset();
        mPosX = getScrollX(); // **should this be myScroller.getCurrX()?**
        mPosY = getScrollY();
        //Log.d("OnScale", "scrollPosition: [" + mPosX + ", " + mPosY + "]");
        }

但这似乎并没有每次都正确更新 scrollPosition 。获取图像视图的滚动位置的正确方法是什么?为了澄清,我想要左上角的坐标。

4

1 回答 1

0

好的,我设法弄清楚了

  • getScrollX()
  • getScrollY()

是获取子视图滚动位置的正确方法。我仍然不确定为什么/使用这些Scroller.getCurrX()/getCurrY方法之间有什么区别,但它们有时肯定会返回截然不同的值。

于 2013-08-23T15:38:38.067 回答