美文网首页android仿薄荷卷尺系列文章
2.1仿薄荷卷次控件之限制HorizontalScroll的左右

2.1仿薄荷卷次控件之限制HorizontalScroll的左右

作者: 真胖大海 | 来源:发表于2017-11-01 11:07 被阅读13次

本篇文章属于android仿薄荷卷尺系列文章

1. 关键代码

  • curScrollX 当前内容的偏移距离了
  • scrollDx 根据手势的滑动距离,计算出的本次内容要偏移的距离
  • leftMaxShow,rightMaxShow 分别为内容向左侧最多显示的内容距离和右侧最多显示的内容距离。
  • leftRemain 当前向左侧还可以显示的剩余内容距离
  • righRemain 当前向右侧还可以显示的剩余内容距离。
   case MotionEvent.ACTION_MOVE:
             ......
                float x = event.getX(pointIndex);
                float dx = x - mLastX;
                float scrollDx = -dx;

                int curScrollX = getScrollX();
                int leftRemain = leftMaxShow - curScrollX;
                int righRemain = rightMaxShow - curScrollX;
                if (scrollDx < leftRemain) {//向右滑动
                    scrollDx = leftRemain;
                } else if (scrollDx > righRemain) {//向左滑动
                    scrollDx = righRemain;
                }

                scrollBy((int) scrollDx, 0);
            ......

2. 图解

  1. 显示右侧内容


    image
  2. 显示左侧内容

    image

3. 总结

  • 画图帮助分析
  • 计算事带上方向(正负号)

相关文章

网友评论

    本文标题:2.1仿薄荷卷次控件之限制HorizontalScroll的左右

    本文链接:https://www.haomeiwen.com/subject/whvwpxtx.html