参考博客:Android艺术开发探索第三章——View的事件体系(上)
view控件的位置参数
view的触摸事件
getX/getY返回的是相对于当前View左上角的x和y坐标,而geiRawX/getRawY返回的是相对于手机屏幕左上角的x和y坐标
2.TouchSlop
ViewConfigurtion.get(getContext()).getScaledTouchSlop 小于这个值时,不是滑动事件;
3.VelocityTracker
速度追踪,用于追踪手指在屏幕上滑动的速度,包括水平和竖直方向上的速度
4.GestureDetector
手势检测,用于辅助检测用户的单击、滑动、长按、双击等行为
onSingleTapUp(单击),onFling(快速滑动),onScroll(推动),onLongPress(长按)和onDoubleTap(双击)
5.Scroller
弹性滑动对象,用于实现View的弹性滑动
scrolTo和scrollBy只能改变View内容的位置而不能变View在布局中的位置。
View动画是对View的影像做操作,它并不能真正改变View的位置参数,包括高宽。
如果希望动画后的状态得以保存还必须将fillAfter属性设置为true,否则动画完成之后就会消失
改变布局参数,即改变LayoutParams
Scroller 本身不能进行弹性滑动的效果,它需要配合computeScroll才能完成弹性滑动效果;
滑动过程中,页面会不断的重绘,每次重绘都有一段时间间隔,多次重绘,就会实现弹性滑动。
onAnimationUpdate
具体来说可以使用Handler或View的postDelayed方法,也可以使用线程的sleep方法。