View的滑动

来源:互联网 发布:a5创业网源码 编辑:程序博客网 时间:2024/05/30 22:42

View的滑动在应用中是必不可少的一部分,实现View的滑动有三种方法:

一、View自身的scrollTo/scrollBy方法(只能改变View内容的位置,不能改变View在布局中的位置)

从源码中可以看出,scrollBy内部也是调用的scrollTo方法。

俩者的区别是:

scrollBy是基于当前位置的相对滑动,

scrollTo是基于所传递参数的绝对滑动。

通过getScrollX()和getScrollY()俩个方法可以获得俩个属性参数(单位;像素)

mScrollX:View左边缘与View内容左边缘的水平距离

mScrollY:View的上边缘与View内容上边缘的垂直距离

        MyLog.w(TAG, iv.getScrollX()+"");               MyLog.w(TAG, iv.getScrollY()+"");                iv.scrollBy(-150, 0);

从左向油滑动mScrollX为负值,从上向下滑动mScrollY为负值,在控件当中滑动。

二、通过动画给View添加平移效果

这个比较简单,就是使用View的平移动画

三、通过改变View的layoutParams使得View重新布局从而实现滑动

             基本原理就是加入将控件向右平移100dp,那么marginLeft的值就加100

MarginLayoutParams layoutParams = (MarginLayoutParams) iv.getLayoutParams();layoutParams.leftMargin+=100;iv.requestLayout();

以上三种方法中:scrollTo/ScrollBy操作简单,适用于View内容的滑动

     平移动画,没有交互的View和复杂的动画效果

      操作比较复杂,适用于有交互的view

0 0