当前位置: 代码迷 >> Android >> 一句话让Android 原生launcher2的圆桌面变的有弹性
  详细解决方案

一句话让Android 原生launcher2的圆桌面变的有弹性

热度:50   发布时间:2016-05-01 19:00:18.0
一句话让Android 原生launcher2的桌面变的有弹性
在/packages/apps/Launcher2/src/com/android/launcher2/Workspace.java
onTouchEvent中的ACTION_M
OVE中,判断出deltaX后直接scrollBy((int)deltaX,0);即可。源码是故意先算一下能滑动
的距离有多少,然后才去重新绘制的,如果到边界就不继续了。而恰恰我们需要边界滑动,
所以,加上这句话就可以了。就算多出来了,后面的严格代码也会马上给他返回去的。

添加后:
?
            if (mTouchState == TOUCH_STATE_SCROLLING) {                // Scroll to follow the motion event                final int pointerIndex = ev.findPointerIndex(mActivePointerId);                final float x = ev.getX(pointerIndex);                final float deltaX = mLastMotionX - x;                mLastMotionX = x;                scrollBy( (int)deltaX,0);//就是这句话了                if (deltaX < 0) {                    if (mTouchX > 0) {                        mTouchX += Math.max(-mTouchX, deltaX);                        mSmoothingTime = System.nanoTime() / NANOTIME_DIV;                        invalidate();                    }                } else if (deltaX > 0) {........
?
  相关解决方案