使用Scroller对象获取当前滚动位置

时间:2013-08-20 22:10:37

标签: android android-imageview android-scroll

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

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

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

然后getScrollX()类的getScrollY()View方法是正确的方法吗?

我正在更新case MotionEvent.ACTION_UP

下的onTouchEvent中的位置
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 。获取我的imageview的滚动位置的正确方法是什么?为了澄清,我想要左上角的坐标

1 个答案:

答案 0 :(得分:0)

好的,我设法弄清楚了

  • getScrollX()
  • getScrollY()

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