View的滑动
实现View的滑动的方式:
1、通过View本身提供的scrollTo/scrollBy方法实现滑动;
2、通过动画给View施加平移效果来实现滑动;
3、通过改变View的LayoutParams使得View重新布局从而实现滑动。
使用scrollTo/scrollBy
为了实现View的滑动,View 提供了专门的方法实现这个功能,即scrollTo/scrollBy。
从上面源码看出,scrollBy实际上也是调用了scrollTo。 scrollBy:实现了基于当前位置的相对滑动。 scrollTo:实现了基于所传递参数的绝对滑动。
理解mScrollX和mScrollY的图解:
使用动画
使用动画来移动View,主要操作View的translationX和translationY属性,既可以采用传统的View动画,也可以采用属性动画。 属性动画兼容3.0一下版本,使用开源库nineoldandroids
注意: 1、使用View动画并不能真正改变View的位置。
2、从Android3.0开始,使用属性动画可以解决真正改变View的位置的问题。
改变布局参数
改变布局参数,也就是改变LayoutParams,如把一个Button向右移动100px,只需要将Button的LayoutParams的marginLeft的参数的值增加100px即可
通过改变View的LayoutParams实现View的滑动是一种很灵活的方法,但是要根据不同的情况去做不同的处理。
各种滑动方式对比
srollTo/scrollBy:操作简单,适合对View的内容滑动;
动画:操作简单,主要适用于没有交互的View和实现复杂的动画效果;
改变布局参数:操作稍微复杂,适用于有交互的View。