通过以下三种方式可以实现滑动:
1、通过View本身提供的scrollTo/scrollBy方法来实现滑动;
2、通过动画给View施加平移来实现滑动;
3、通过改变View的布局参数来实现滑动。
下面分别介绍这三种滑动方式的区别:
首先要介绍一下View的基本位置参数:
Android3.0之前,View的基本位置参数有:left、right、top、bottom(都是基于父布局的)
Android3.0之后,View的基本位置参数增加了以下四种:x、y、translateX、translateY(也都是基于父布局的)
以上参数之前存在以下关系:
x = left + translateX;
y = top + translateY;
View的内容参数:
scrollX、scrollY。这两个参数都是View的内容的偏移参数。需要注意的是scrollX、scrollY的偏移正负值和x、y是相反的。内容相对View为左上角时,scrollX、scrollY的值为正值,在右下角时为负值。
区别:
1、通过scrollTo/scrollBy方式改变的参数是scrollX、scrollY两个参数,即通过这个方式改变的只是View的内容位置参数,不能改变View的基本位置参数;
特点:操作简单,适用于对View内容的滑动(例:ViewPager的实现)
2、通过动画(这里注明前提:在Android3.0之后)实现的滑动改变的是x、y、translateX、translateY四个便宜位置参数;
特点:可以实现复杂的动画效果,Android3.0之前不适用与需要发生交互的动画,Android3.0以后适用于需要发生交互的动画
3、通过改变布局参数实现滑动的方式改变的是left、right、top、bottom四个位置参数;
特点:操作稍微复杂,适用于有交互的View