Scroll简要分析

                 **实现滑动的7种方式**

计算偏移量


1)layout()方法

2)offsetLeftAndRight()和offsetTopAndBottom()

3)LayoutParams


注意:选择你ViewGroup的具体容器是什么,我的是RelativeLayout。

还有一种方式:不需要考虑父布局类型

4)scrollerTo和scrollerBy
scrollerTo和scrollerBy通常作用在ViewGroup中,在具体的VIew中的确也可以移动,但效果并不是我们想要的。还有,如果偏移量均为X,Y轴正数时,会发现VIew会往左上偏移。所以,写代码时要注意负号。

5)Scroller
分为3步骤:
一.初始化Scroller

二.重写computeScroll(),实现模拟滑动


在computeScroll()中只能获取模拟过程中的scrollX,scrollerY坐标。computeScroll()不能调用本身,只能通过invalidate()—->draw()—->computeScroll()来间接调用computeScroll().当滑动完成后,mScroller.computeScrollOffset()会返回false,从而中断循环,实现整个平滑移动过程。

三.startScroll开启

 mScroller.startScroll(viewGroup1.getScrollX(),viewGroup1.getScrollY(),-viewGroup1.getScrollX(),-viewGroup1.getScrollY(),3000);

前二个参数为起始横纵坐标,三四个参数为x,y方向上的偏移量,第五个为滑动时间

6)属性动画

7)ViewDragHelper
初始化ViewDragHelper.通过静态方法

拦截事件

处理回调Callback

具体滑动效果

说明:上述内容笔者参考《Android群英传》第五章!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值