如何找到Horizo​​ntalScrollView的滚动值结束

Nas*_*ikh 6 android scrollbar horizontalscrollview

我需要实现以下场景,

这里我有两个horizo​​ntalScrollViews,上面的scrollView是一个主菜单,下面的scrollView是一个子菜单.

当我滚动主菜单时,位于中心箭头下方的菜单将在下方滚动视图中显示其子菜单,而从下方滚动视图中,位于中心箭头下方的子菜单显示该子菜单的屏幕.

这是我的要求:在此输入图像描述

我已经使用Horizo​​ntalScrollViews和ViewFlipper实现了它并且它也可以工作,但只有当我慢慢滚动而不是滚动快速时它才会给出正确的结果.

我已经将onTouch()方法与ACTION_UP事件一起使用,所以当我从屏幕释放手指时,它会在该点给我getScrollX()位置,但是在滚动完成/停止时我需要getScrollX()位置.

这是我的代码: -

  @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (v.getId()) {

            case R.id.mHorizontalScrollViewMain:
           if (event.getAction() == KeyEvent.ACTION_UP) {
            Log.d("test", " " + hsvUpperTab.getScrollX() + " , "+ mViewFlipper.getChildCount());
            getUpperTabScrolled(hsvUpperTab.getScrollX());
        }
        break;

        case R.id.mHorizontalScrollViewSub:
                if (event.getAction() == KeyEvent.ACTION_UP) {
            Log.d("test1", " " + hsvLowerTab.getScrollX());
            getLowerTabScrolled(hsvLowerTab.getScrollX());

            }

        default:
            break;

        }

        return false;
    }
Run Code Online (Sandbox Code Playgroud)

Vic*_*cVu 1

给你:Stackoverflow 答案

您所要做的就是将 getScrollY() 替换为 getScrollX()