Kotlin使用Scroller

Scroller个人理解为:类似一个动画,参数不断的变化,在重载方法中可以不断的移动view
1.声明

 private var mScroller:Scroller? = null

2.在构造器里

   mScroller = Scroller(context)

3.设置参数 startScroll(starx,stary,dx,dy,duration,finalx = starx+dx,curx就是过程中的值,完成后curx最终会变成finalx,可以通过isFinished查询是否完成这个滚动,可以调用abortAnimation()函数使过程立即完成,curx也就立即变成了finalx。注意,调用startScroll后必须调用invalidate()函数刷新
4.重载computeScroll函数,处理过程中的滚动,一般调用scrollTo完成滚动,最后也必须调用invalidate()进行重绘。

 mLastView?.scrollTo(mScroller!!.currX,0) //最终还是要借助View的scrollTo或scrollBy完成移动
  invalidate()

关于scrollTo(dx,dy)
dx>0表示视图(View或ViewGroup)的内容从右向左滑动; 反之,从左向右滑动
dy>0表示视图(View或ViewGroup)的内容从下向上滑动; 反之,从上向下滑动
关于ScrollX,ScrollY
getScrollX()说明:=手机屏幕显示区域左上角x坐标减去MultiViewGroup视图左上角x坐标,坐标是左负右正,左移多少那就是多少的scrollx正值
getScrollY()说明:=手机屏幕显示区域左上角y坐标减去MultiViewGroup视图左上角y坐标=0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值