android开发中view的滑动很常见,我在这里就来总结一下可以让view滑动的方式.
通过view的scrollBy(int dx,int dy)或者scrollTo(int dx,int dy)方法,参数表示要滑动的距离.scrllTo或者scrollBy只能使view的内容滑动.而不能改变view在布局中的位置. 比如一个textview调用srollBy方法只会将里面的内容(文字)滑动.而这个textview控件在原来父布局中的位置不会改变.
使用平移动画.这个其实是改变view的translation属性.但是普通的动画只是对view的影像做操作,并不能真正的改变view的位置参数,包括宽高.但是属性动画可以真正改变.但是只有3.0以上才可以.即使使用三方库可以在2.2上使用属性动画但是实际上还是普通的动画,就是说在2.2上就是使用属性动画也不能真正的改变view 的位置参数.使用平移动画的滑动来改变view在布局中的位置.
- 通过改变view的LayoutParams使得view重新布局从而实现滑动. 这种方式会改变view在布局中的位置. 比如设置margin可以改变view的位置.或者改变其他view的宽或者高从而使自己改变.
- view的offsetTopAndBottom(int dy) 这个方法也可以让view滑动,但是只能一个方向滑动.这个也会改变view在布局中的位置,但是这个方法和输入法一起使用就会有问题,当输入法消失时通过这个方法移动的距离会被还原.
- view的弹性滑动的使用的是Scroller这个类,但是这个类之所以可以实现滑动底层还是通过view的scrollby和scrollto方法来实现的.