为什么scrollerTo滑动方向是反的?
scrollTo(x,y)
—>
int oldX = mScrollX;
int oldY = mScrollY;
mScrollX = x;
mScrollY = y;
invalidate(true);
—> draw()方法调用
—>invalidate(int l, int t, int r, int b)
—>
final int scrollX = mScrollX;
final int scrollY = mScrollY;
tmpr.set(l - scrollX, t - scrollY, r - scrollX, b - scrollY);
结论:当scrollTo 传入 正数 向左(向下)
当传入负数,减去负数==加上正数 ,向右(向上)
Scroller是什么?作用?用法
这个类封装了滑动,响应手指滑动,但它们不会自动将这些位置应用到您的View中。开发者的责任是获得和应用新的坐标率,将使滚动动画看起来平滑。
基础用法:
创建Scroller的实例
调用startScroll()方法来初始化滚动数据并刷新界面
重写computeScroll()方法,并在其内部完成平滑滚动的逻辑
getCurrX() 当前的滑动位置
getScrollX()是什么?
returen mScrollX
返回view的左边缘 如果getScrollX()小于0超出了屏幕,不考虑
MotionEvent.ACTION_MOVE返回false和true,分别有什么影响?
拿到最小滑动距离怎么判断?
事件分发,大概流程,activity,viewgroup,view分别返回值对事件的影响
VelocityTracker是什么?作用?用法
用法:VelocityTracker维护了一个Pool池,池化技术
初始化VelocityTracker.obtain()