View比较重要的几个参数,
- MotionEvent:事件处理
- TouchSlop:系统所能识别出的被认为是滑动的最小距离
- VelocityTracker:速度追踪,用于追踪手指在滑动过程中的速度。
- GestureDetector:手势检测,用于辅助检测用户的单击、滑动、长按、双击等行为
- Scroller:实现View的弹性滑动
View的滑动方式
- 通过View本身提供的scrollTo/scrollBy方法来实现滑动
- 通过动画给View施加平移效果来实现滑动
- 通过改变View的LayoutParams是的View重新布局从而实现滑动
View滑动方式的比较
- scrollTo/scrollBy:操作简单,适合对View内容滑动
- 动画:操作简单,主要适用于没有交互的View和实现复杂的动画效果
- 改变布局参数:操作稍微复杂,适用于有交互的View
小提示
- scrollTo/scrollBy只能改变View内容的位置而不能改变View在布局中的位置
- View动画是对View的影像做操作,不能改变View的位置参数,比如把View向右移动100像素,并且这个View设置有单击事件,然后你会发现单击新位置无法触发onClick事件,而原始位置仍然可以触发onClick事件。
- fillAfter为false,动画完成的一刹那,View会瞬间恢复到动画前的状态;反之,View会停留在动画最后结束的位置和状态
- 属性动画可以解决上述问题(android3.0之后才有属性动画)