【问题标题】:Getting current scroll position using Scroller object使用 Scroller 对象获取当前滚动位置
【发布时间】:2013-08-20 22:10:37
【问题描述】:

我有一个大于屏幕尺寸的图像视图,所以我使用Scrollerobject 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。获取图像视图的滚动位置的正确方法是什么?为了澄清,我想要左上角的坐标。

【问题讨论】:

    标签: android android-imageview android-scroll


    【解决方案1】:

    好的,我设法弄清楚了

    • getScrollX()
    • getScrollY()

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

    【讨论】:

      猜你喜欢
      • 2013-04-06
      • 2021-04-08
      • 1970-01-01
      • 2013-03-22
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      相关资源
      最近更新 更多